MyBatis Oracle 自增序列的实现方法

作者:mrr 时间:2023-08-03 11:30:08 

mybatis oracle 自增序列的代码如下所示:


<insert id=" insert " useGeneratedKeys="true" keyProperty="s_id" parameterType="xxxx" >
<selectKey resultType="int" order="BEFORE" keyProperty="s_id">
SELECT SEQ_TABLE.NEXTVAL FROM dual
</selectKey>
INSERT INTO <span style="font-family: Arial, Helvetica, sans-serif;">s_id</span><span style="font-family: Arial, Helvetica, sans-serif;">,name,age</span>
VALUES
(#{s_id} #{name}, #{age} )
</insert>

resultType="int" 返回的是一个int类型

keyProperty 把返回值,赋值给:parameterType中对象的对象的属性,也就是xxxxx类中的s_id属性


useGeneratedKeys="true" keyProperty="s_id"

返回序列id,如果不需要,可以不填

下面看下mybatis配置oracle的主键自增长

mysql、sqlserver等数据库本身带有主键自增长像auto_increment的功能可以直接使用

useGeneratedKeys=”true”来实现,比如下面的配置


insert into s_user_auth (id,user_id, user_name) values(#{id},#{userid},#{username})

而oracle则不行,oracle主键自增长是通过sequence实现的,所以这种方式就不可以了,需要使用:

1.先通过sequence查出来id,再insert


select yoursequence.nextval as id from dual
insert into s_user_auth (id,user_id, user_name) values(#{id},#{userid},#{username})

2.直接insertsequence.nextval,如下


insert into s_user_auth (id,user_id, user_name) values(yoursequence.nextval,#{userid},#{username})
标签:mybatis,oracle,主键,自增长,自增序列
0
投稿

猜你喜欢

  • Java中实现线程间通信的实例教程

    2021-10-12 17:33:30
  • WPF ComboBox获取当前选择值的实例详解

    2022-02-09 17:26:23
  • Mybatis 动态表名+Map参数传递+批量操作详解

    2023-04-02 04:08:00
  • Java继承的问题引导和测试代码

    2023-03-13 18:50:34
  • C#实现猜数字游戏

    2021-11-16 07:29:58
  • java中的Arrays这个工具类你真的会用吗(一文秒懂)

    2021-11-28 06:25:11
  • java同步之如何写一个锁Lock

    2023-04-23 08:10:54
  • Java 读写锁源码分析

    2021-08-31 01:48:54
  • 浅谈web服务器项目中静态请求和动态请求处理

    2022-03-01 21:26:12
  • Android 6.0 蓝牙搜索不到设备原因,MIUI权限申请机制方法

    2021-07-31 01:20:06
  • 详解 c# 克隆

    2021-12-16 16:23:12
  • C#中泛型容器Stack<T>的用法并实现”撤销/重做”功能

    2021-06-27 04:12:00
  • Android 中使用EditText 点击全选再次点击取消全选功能

    2023-09-08 00:08:44
  • C#使用FolderBrowserDialog类实现选择打开文件夹方法详解

    2022-08-11 07:28:39
  • JAVA演示阿里云图像识别API,印刷文字识别-营业执照识别

    2022-04-21 15:05:22
  • 详解C# Lazy Loading(延迟加载)

    2021-09-02 03:02:58
  • kotlin java 混合代码 maven 打包实现

    2023-04-09 13:33:41
  • 详解Spring Bean 之间的特殊关系

    2022-10-25 21:12:17
  • C#图片查看器实现方法

    2021-06-17 16:50:03
  • 关于Java集合框架面试题(含答案)上

    2021-06-02 13:29:44
  • asp之家 软件编程 m.aspxhome.com