Mybatis获取新增表的自增值

方式一

代码示例:

<!‐‐新增‐‐>
    <insert id="add" parameterType="com.itheima.pojo.CheckGroup">
        <selectKey resultType="java.lang.Integer" order="AFTER"
keyProperty="id">
            SELECT LAST_INSERT_ID()
        </selectKey>
        insert into t_checkgroup(code,name,sex,helpCode,remark,attention)
            values
       (#{code},#{name},#{sex},#{helpCode},#{remark},#{attention})  
    </insert>

属性说明
1.resultType=“java.lang.Integer”
调用Dao层方法,其返回的自增值为Integer(int)类型
考虑到基本上所有的数据表自增值都为Integer(int)类型,因此此处的’resultType’的属性值固定为"java.lang.Integer"
2.order=“AFTER”
‘AFTER’表示之后,意思是完全执行完该条SQL语句后再反回其自增的数值
3.keyProperty=“id”
表示要监视自增的列名,此处列名’id’带有自增属性,因此keyProperty的值为’id’

关于函数 SELECT LAST_INSERT_ID()
参考该链接:https://blog.csdn.net/Soinice/article/details/88845898

方式二(简单)

<insert id="insert" parameterType="pojo" useGeneratedKeys="true" keyProperty="id" >  //配置这里的属性
    insert into standard_library (id, parent_id, origin_doc_id, 
      parent_ids)
    values (#{id}, #{parentId}, #{originDocId},#{parent_ids})
  </insert>

1.useGeneratedKeys=“true”
属性必须为true
2.keyProperty=“id”
表示要监视自增的列名,此处列名’id’带有自增属性,因此keyProperty的值为’id’

参考:https://blog.csdn.net/qq_34256768/article/details/79753330

你可能感兴趣的:(Mybatis,数据库)