Mybatis之useGeneratedKeys和selectKey的基本用法与区别

本文介绍了Mybatis中`useGeneratedKeys`和`selectKey`两种获取自增主键的方法。`useGeneratedKeys`适用于支持主键自动增长的数据库如MySQL,而`selectKey`在Oracle等不支持的数据库中使用,避免并发问题时需通过唯一索引重新查询数据。
摘要由CSDN通过智能技术生成

一、useGeneratedKeys

数据库本身具备主键自动增长的功能,才能使用useGeneratedKeys
oracle不支持true

<insert id="insert" useGeneratedKeys="true" keyProperty="idColName">
	insert into tableName (colName) values (#{colVal,jdbcType=VARCHAR})
</insert>

(insert and update only) This tells MyBatis to use the JDBC getGeneratedKeys method to retrieve keys generated internally by the database (e.g.auto increment fields in RDBMS like MySQL or SQL Server). Default: false
(仅插入和更新)这告诉MyBatis使用JDBC getGeneratedKeys方法来检索数据库内部生成的密钥(例如,RDBMS中的自动增量字段,例如MySQL或SQL Server)。默认值:false

二、selectKey

当数据库不支持useGeneratedKeys=“true” ,则使用selectKey,例如oracle

<insert id="insert" useGeneratedKeys="true" keyProperty="id
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值