使用Mybatis时,在插入一条数据记录返回主键id值

使用MyBatis往数据库中插入一条记录后,返回该条记录的主键值。

useGeneratedKeys=true默认为 false。当设置为 true 时,表示如果插入的表以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键返回。
两者最好一起用

useGeneratedKeys=true keyProperty="company_id"
这个意思就是说。 他在插入后, 会自动把插入的数据生成的ID
塞入到你这个 keyProperty 后面设置的 ID 这个参数里面。
执行之后 你直接取ID 的值就好了。

1
2
3
4
5
6
7
8
9
<insert id="save" useGeneratedKeys=true  parameterType="pd" keyProperty="company_id">
insert into trtc_user_company_info(
···
id
) values (
···
null <!-- 填null时数据库默认自增 -->
)
</insert>

获取已插入数据库中信息的id

1
pd.put("COMPANY_ID", pd.get("company_id"));