mybatis+mysql insert添加数据后返回数据主键id

Posted 客舍青

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis+mysql insert添加数据后返回数据主键id相关的知识,希望对你有一定的参考价值。

1.根据useGeneratedKeys获取返回值,部分数据库不支持

修改mybatis xml

 <insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.entity.user">
    insert into test (name) values (#{name})
 </insert>

useGeneratedKeys="true" :设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。(适用于mysql、sqlserver数据库,oracle不能使用,使用selectkey子节点做)

keyProperty:赋值的对象的属性名称。

添加完成后,直接根据对象属性取值。

user u=new user();
u.setName("测试");
System.out.println(u.getId()+"取值前");
int num = userService.insert(u);
System.out.println(u.getId()+"取值后");

 

2.根据selectkey获取

 <insert id="insertUser"  parameterType="com.entity.user">
     insert into test (name) values (#{name})
      <selectKey keyProperty="id" resultType="java.lang.Integer">
      select LAST_INSERT_ID() as id
      </selectKey>
    </insert>

 

后台代码不变。

原文:https://blog.csdn.net/shuaipu813/article/details/52755808 

以上是关于mybatis+mysql insert添加数据后返回数据主键id的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis返回自增主键的xml方式

mybatis insert 返回主键 的before 和after的区别

mybatis mysql 数据库 insert 插入数据返回主键

mybatis的配置以及连接MySQL数据库进行复杂数据的select和insert

mybatis batch insert

Mybatis SQL映射文件