Mybatis 获取 insert 操作返回值主键
关于返回值
在使用mybatis做持久层时,insert、update、delete,sql语句默认是不返回被操作记录主键的,而是返回被操作记录条数;而记录条数可以直接获取,下面主要是讲解关于获取 insert 是产生的主键。
xml 的操作文件配置如下:
<!-- useGeneratedKeys="true" 把新增加的主键赋值到自己定义的keyProperty(id)中 -->
<insert id="saveUser" parameterType="com.dao.User" useGeneratedKeys="true" keyProperty="id">
insert into tbl_user ...
</insert>
Dao 层方法操作如下:
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
int insertUser(User data);
在 service 层中就可以获取到刚新插入记录的 id 值:
//调用自定义的插入方法咯,插入新的一条记录 参数user为实体类对象
userDao.saveUser(user);
//获取新插入记录的id列的值
String id = user.getId();