Mybatis 插入数据后返回记录ID
场景:今天使用mybatisplus自带的插入方法插入数据的时候发现实体类中自增的主键id在插入成功后被赋值了。百度了一下发现mybati和mybatis-plus自带的插入都提供了这个功能。
自己写插入语句想要返回的话就需要进行一下操作
方法一
<!--
(仅适用于 insert 和 update)这会令 MyBatis 使用 JDBC 的 getGeneratedKeys
方法来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系型数据库管理系统的自动递增字段),默认值:false
keyProperty:表示返回的 id 要保存到对象的哪个属性中,仅适用于 insert 和 update 语句 -->
<insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.baidu.entity.User">
insert into user(id,username,password,email,createtime)
values(#{id},#{username},#{password},#{email},#{createtime})
</insert>
方法二
<insert id="insert" parameterType="com.baidu.entity.user">
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
select LAST_INSERT_ID()
</selectKey>
insert into user(id,username,password,email,createtime)
values(#{id},#{username},#{password},#{email},#{createtime})
</insert>
mybatis-plus我用的很少,不是很了解,就不说了