美文网首页
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