mybatis获取刚刚新插入数据的主键值 id
程序员文章站
2024-01-05 19:43:10
...
很多时候数据表中的id都是自增的,有时候对多个表数据操作,需要使用到新添加的数据库id,
例如:在这个数据表中需要添加老人信息表的咨询人信息表,而咨询人信息表中需要刚刚添加在老人信息表中老人数据的id,进行关联。
获取刚刚插入数据id的方法:
1、mapper.xml文件中在添加的标签中加上属性useGeneratedKeys="true" keyProperty="id"
<insert id="insertSelective" parameterType="com.ds.entity.old.Old" useGeneratedKeys="true" keyProperty="id">
2、mapper.xml文件中在添加标签insert 内加上<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> SELECT LAST_INSERT_ID() </selectKey>
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>
在添加sql语句执行完成之后直接取值即可,
注意,不要直接添加整个对象,我一开始直接使用添加整个接收的对象,没使用set方法赋值,直接添加的能添加成功但得不到新添加数据的id,实例化对象后用set方法添加就能得到新添加的ID
简单来说就是添加属性或者标签后,执行完sql语句,就能取到id值