mybatis执行insert后马上能获取自增主键的语句写法

Posted ukzq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis执行insert后马上能获取自增主键的语句写法相关的知识,希望对你有一定的参考价值。

<!--keyColumn keyProperty useGeneratedKeys 用于在插入数据后,能直接使用user.getId()获取主键-->

  <insert id="insert" keyColumn="Id" keyProperty="id" parameterType="com.chinacarbonal.carboncms.bean.UserRole" useGeneratedKeys="true">
    insert into user_role (user_id, role_id)
    values (#{user_id,jdbcType=INTEGER}, #{role_id,jdbcType=INTEGER})
  </insert>

 

在今天的项目中,使用了mybatis中的如上sql语句,其中的keyColumn为数据库字段名, keyProperty为实体类的该属性名.

useGenerateKeys表示,当这条insert命令执行成功以后,可以直接在控制层或Service层中调用userRole.getId()来获取insert后生成的自增主键.

 

本以为写完整点的自增主键获取与旧式JDBC获取自增主键的方式对比,只不过那种方法很古老了.

 

以上是关于mybatis执行insert后马上能获取自增主键的语句写法的主要内容,如果未能解决你的问题,请参考以下文章

mybatis自增主键返回

mybatis新增数据后获取自增主键

Mybatis返回自增主键的xml方式

mybatis记录随便保存数据获取自增主键的值

MyBatis 插入时候获取自增主键(1:写sql。2:注解@generatedvalue)

mybatis 先插入主表数据,获得自增主键。然后作为从表的外键插入从表数据怎么做