mybatis主键回填

Posted 永旗狍子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis主键回填相关的知识,希望对你有一定的参考价值。

主键回填

标签:< selectKey id="" parameterType="" order="AFTER|BEFORE">

1.通过last_insert_id()查询主键

这种类型主要适用于整数类型自增主键

<mapper namespace="qf.Dao.EmpDao">
    <insert id="regEmp" parameterType="qf.entity.Emp">
        <selectKey keyProperty="eno" resultType="int" order="AFTER"> <!-- 插入之后 -->
            SELECT LAST_INSERT_ID() <!-- 适用于整数类型自增主键 -->
        </selectKey>
        insert into emp(eno,ename,esex,salary,pwd,dno,borndate) values(#{eno},#{ename},#{esex},#{salary},#{pwd},#{dno},#{borndate})
    </insert>
   
</mapper>

2.通过uuid()查询主键

适用于字符串类型主键

<mapper namespace="com.qf.mybatis.part1.basic.OrderDao">
    <insert id="insertOrder" parameterType="order">
        <selectKey keyProperty="id" resultType="String" order="BEFORE"><!-- 插入之前 -->
            SELECT REPLACE(UUID(),'-','') <!-- 适用于字符类型主键 -->
        </selectKey>

        INSERT INTO t_order(id,name) VALUES(#{id},#{name})
    </insert>
</mapper>

以上是关于mybatis主键回填的主要内容,如果未能解决你的问题,请参考以下文章

mybatis主键回填和自定义

2017.9.15 mybatis批量插入后实现主键回填

Mybatis模糊查询——三种定义参数方法和聚合查询主键回填

mybaits实现oracle批量新增数据,回填主键

JavaLearn#(27)MyBatis进阶:Mapper代理(接口绑定)多参数传递模糊查询分页自增主键回填动态SQL一级缓存二级缓存

JavaLearn#(27)MyBatis进阶:Mapper代理(接口绑定)多参数传递模糊查询分页自增主键回填动态SQL一级缓存二级缓存