MySQL获取最近新增数据的id
背景
当我们新增一条数据时,需要立刻获得这条数据的id
如何实现
推荐使用SELECT LAST_INSERT_ID()
MyBatis
代码
1 | <insert id="insertQljContract" parameterType="QljContract" useGeneratedKeys="true" keyProperty="id"> |
SELECT LAST_INSERT_ID()
:得到刚 insert 进去记录的主键值,只适用于自增主键
keyProperty
:将查询到主键值设置到 parameterType
指定的对象的那个属性
order
:SELECT LAST_INSERT_ID() 执行顺序,相对于 insert 语句来说它的执行顺序
resultType
:指定 SELECT LAST_INSERT_ID() 的结果类型
Domain层
加入相关代码
1 | private Integer kid; |
注意
假如你使用一条INSERT语句插入多个行, LAST_INSERT_ID() 只会返回插入的第一行数据时产生的值。
比如我插入了 3 条数据,它们的 id 分别是 21,22,23,那么最后我还是只会得到 21 这个值