美文网首页
2023-03-27 MyBatis 自动生成ID

2023-03-27 MyBatis 自动生成ID

作者: ForestPei | 来源:发表于2023-03-26 16:18 被阅读0次

1 selectKey

<insert id="insertSelective" parameterType="cn.XXX.xxx.server.xxx.entity.AResult">
      <selectKey keyProperty="pk" order="AFTER" resultType="java.lang.Integer">
          SELECT
          LAST_INSERT_ID()
      </selectKey>

2. useGeneratedKeys

  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="cn.XXX.AAA" useGeneratedKeys="true">
    <!--@mbg.generated-->
    insert into aaa(image_id, image_uid, study_uid, 
>

3. selectKey与useGeneratedKeys两者的区别

3.1 显示与隐式:

selectKey标签需要明确编写获取最新主键的sql语句
UseGeneratedKey属性会自动根据驱动生成对应sql语句
应用场景:

selectKey适用于所有的关系型数据库
UseGeneratedKey只支持 “自增主键” 类型的数据库

3.1.1 在Oracle中selectKey的使用

image.png

3.1.2 在MySQL中selectKey的使用

<selectKey resultType="Integer" keyProperty="goodsId" order="AFTER">

select last_insert_id()

</selectKey>

相关文章

网友评论

      本文标题:2023-03-27 MyBatis 自动生成ID

      本文链接:https://www.haomeiwen.com/subject/aanordtx.html