解决mybatis获取刚刚插入到数据库的数据的id的方法

思路:insert完成之后再去查询得到id,这样显然不行,很可能获取到的id不是自己想要的那条数据的id,只有在insert的过程中获取到id,再将其包装在结果集中一起返回,这样才能万无一失,保证返回id的准确性。

实现方法:mybatis的selectKey标签配合sql语句就可以实现这一需求;

写法详解:

keyProperty属性表示要查询的主键的名字,就是主键字段对应实体类的属性。

order属性有两个值,即after,before;after表示在insert之后执行SELECT LAST_INSERT_ID(),一般用于主键自增时,得到的就是自增长生成的id,而before表示在insert之前执行SELECT LAST_INSERT_ID(),一般用于非自增主键,得到的是传入的对象中主键的值,一般是用户生成的uuid。


      SELECT LAST_INSERT_ID()


      
    
      SELECT LAST_INSERT_ID()
    
    
    insert的sql语句
    
  

你可能感兴趣的:(解决mybatis获取刚刚插入到数据库的数据的id的方法)