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