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.png3.1.2 在MySQL中selectKey的使用
<selectKey resultType="Integer" keyProperty="goodsId" order="AFTER">
select last_insert_id()
</selectKey>
网友评论