1. 首页
  2. 编程面试题
  3. Java
  4. Mybatis

MyBatis 在 insert 插入操作时返回主键 ID



**数据库为 MySql 时**:

sql

“keyProperty”表示返回的 id 要保存到对象的那个属性中,“useGeneratedKeys”表示主键 id 为自增长模式。
MySQL 中做以上配置就 OK 了

**数据库为 Oracle 时**:

sql
1.
2.
3. SELECT SEQ_USER.NEXTVAL as userId from DUAL
4.

5. insert into user (user_id, user_name, modified, state)
6. values (#{userId,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR},
#{modified,jdbcType=TIMESTAMP}, #{state,jdbcType=INTEGER})
7.

由于 Oracle 没有自增长一说法,只有序列这种模仿自增的形式,所以不能再使用“useGeneratedKeys”属性。而是使用将 ID 获取并赋值到对象的属性中,insert 插入操作时正常插入 id。

发布者:admin,如若转载,请注明出处:https://ai1024.vip/38418.html

QR code
//