向数据库插入一条记录,返回该记录的主键 mybatis

    科技2024-06-29  68

    在mybatis的xml文件中

    方法一:

     select    LAST_INSERT_ID() 将插入数据的主键返回到 object 对象中

    在插入语句后加入 selectKey 标签 <insert>            insert into table(a,b,c) values(?,?,?)            <selectKey keyProperty="id" order="AFTER" resultType="int">           select LAST_INSERT_ID()          </selectKey> </insert>

     

    方法二:

    在insert标签中 添加下面三个属性:

        useGeneratedKeys :true  

        keyProperty:pojo中对应主键的属性名

        keyColumn:数据库表中主键的键名

    <insert id=".." parameterType=".." useGeneratedKeys="true" keyProperty="id" keyColumn="id">

     

    例:

    public class Peer { private Integer id; id=null private Long createTime; createTime=1602053377551 private Integer status; status=1 }

     向数据库中插入记录时,id值为空。其中peer表中id为自增主键。

     执行完插入记录后,该记录的主键值将返回到peer对象中。假如表中id=1,peer对象如下:

    public class Peer {         private Integer id;    ---->  id=1         private Long createTime;  ---->  createTime=1602053377551         private Integer status;   ---->  status=1 }

     

    Processed: 0.009, SQL: 8