Mybatis中如何获取insert之后的id

mybatis内置这个功能,直接在你写得xml selcect语句上面加两个属性值

keyProperty="id" useGeneratedKeys="true"
  •  

然后在实体里面取出来,第二种方法有讲实体取数据

第二种方法

其实这个很简单,但是我老是不记得,所以在这里记一下吧,免得下次忘记了又要到处瞎找。 
每次我都会加入SELECT LAST_INSERT_ID() 可是这个每次都不生效。

然后我就到处找为什么SELECT LAST_INSERT_ID()不生效。

终于….我想起来了

不扯啦,先给获取insert之后的id的办法

<selectKey keyProperty="id" resultType="Integer" order="AFTER">
      SELECT LAST_INSERT_ID() as id
    </selectKey>
  •  

在你的insert后面加入这样一行代码就行了。

于是你要反驳我,加了也不生效。

因为你肯定认为这个返回的是你想要的id 
错了,这个返回的是影响的行数,影响的行数,影响的行数 
如果要ID那么就到实体里面去getId就可以了 
也就是说mybatis把得到的id封装到实体的ID属性里面去了比如 你调用userDao.save(someone)来保存, mybatis会将id封装到someone中

over

显示推荐内容

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那些年的代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值