Mybatis insert获取主键值

本文介绍在MyBatis中如何根据不同类型的数据库(如Oracle、MySQL)配置正确的主键生成策略,包括使用selectKey及useGeneratedKeys属性来获取由序列生成的ID。

Mybatis insert后调用insert对象主键get方法可以获得由序列生成的id条件

对于不允许自增的数据库如oraclegpinsertxml  insert里必须有keyProperty属性,且要使用selectKey获得序列值,具体如下

 

<insert id=" " keyProperty="id">
        <selectKey resultType="int" order="BEFORE" keyProperty="id">
            序列生成Id
           </selectKey> 
sql语句 </insert>

 

对于允许自增的序列,insert里必须有useGeneratedKeys="true"和keyProperty属性,具体格式如下

 

<insert id=" " parameterType=" " useGeneratedKeys="true" keyProperty="id">
        Sql语句
</insert>

 

useGeneratedKeys 

(仅对insert有用)这会告诉MyBatis使用JDBCgetGeneratedKeys方法来取出数据

比如:像MySQLSQL Server 这样的数据库管理系统的自动递增字段)内部生成的主键。

默认值:false

keyProperty 

(仅对insert有用)标记一个属性, MyBatis会通过getGeneratedKeys或者通过 insert 语句的selectKey子元素设置它的值。默认:不设置。

 

 

转载于:https://www.cnblogs.com/visoncheng/p/3320729.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值