MyBatis中插入记录后获取该条记录ID

主键生成有两种方式:

  • 主键自增长,需要得到插入成功后数据库生成的id
  • 自定义主键,主要用于分布式开发,一般是现在java代码中生成id,然后存入数据库

MyBatis中主键回填的两种实现方式:

(1)推荐方式

<insert id="insert" useGeneratedKeys="true"  keyProperty="id">
    insert into t_user (name,password) values (#{name},#{password});
</insert>

设置useGeneratedKeys="true",设置keyProperty="id",接收回传主键的属性id,成功后id的值就是回传主键的值

(2)使用 MySQL的LAST_INSERT_ID()

<insert id="insert" parameterType="cn.appblog.pojo.User">    
    insert into t_user (name) values (#{user.name})
    <selectKey resultType="Integer" order="AFTER" keyProperty="user.userId">
        SELECT LAST_INSERT_ID() AS userId
    </selectKey>
</insert>

这里是用User类接收,也可自定义属性接收。

在Mapper.xml文件中设置完后,在插入记录后,就会返回id值给对象,直接通过对象get方法就可以获得id

User user = new User();
user.setName("Joe.Ye");
tUserMapper.insert(user);
user.getId();
上一篇 Spring Boot中MyBatis打印sql
下一篇 MyBatis根据List批量更新及删除记录
目录
文章列表
1 NumPy常见运算之min、max、mean、sum、exp、sqrt、sort、乘法、点积、拼接、切分
NumPy常见运算之min、max、mean、sum、exp、sqrt、sort、乘法、点积、拼接、切分
2
Vue使用axios实现登录验证拦截及页面跳转
Vue使用axios实现登录验证拦截及页面跳转
3
Groovy代码示例 - 数据库连接及基本操作
Groovy代码示例 - 数据库连接及基本操作
4
Python import错误处理
Python import错误处理
5
TinkerPatch对Flavors及加固的支持
TinkerPatch对Flavors及加固的支持
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。