mybatis使用oracle自动生成主键
下面总结了两种方式,一种是使用oracle的sys_guid函数自动生成,另一种是使用sequence,
方法一:
<insert id="insert" useGeneratedKeys="false" keyProperty="storeId" parameterType="zttc.itat.user.po.TStore" >
<selectKey resultType="String" keyProperty="storeId" order="BEFORE">
select sys_guid() from dual
</selectKey>
insert into T_STORE (STORE_ID, STORE_NAME, STORE_PRICE,CREATE_DATE,END_DATE
)
values ( #{storeId,jdbcType=VARCHAR}, #{storeName,jdbcType=VARCHAR}, #{storePrice,jdbcType=DECIMAL},
#{createDate,jdbcType=VARCHAR},#{endDate,jdbcType=VARCHAR}
)
</insert>
方法二:
<insert id="insert" parameterType="zttc.itat.user.po.TStore" >
insert into T_STORE (STORE_ID, STORE_NAME, STORE_PRICE,CREATE_DATE,END_DATE
)
values (my_sequence.nextval, #{storeName,jdbcType=VARCHAR}, #{storePrice,jdbcType=DECIMAL},
#{createDate,jdbcType=VARCHAR},#{endDate,jdbcType=VARCHAR}
)
</insert>
<insert id="insert" useGeneratedKeys="false" keyProperty="storeId" parameterType="zttc.itat.user.po.TStore" >
<selectKey resultType="String" keyProperty="storeId" order="BEFORE">
select my_sequence.nextval as storeId from dual
</selectKey>
insert into T_STORE (STORE_ID, STORE_NAME, STORE_PRICE,CREATE_DATE,END_DATE
)
values ( #{storeId,jdbcType=VARCHAR}, #{storeName,jdbcType=VARCHAR}, #{storePrice,jdbcType=DECIMAL},
#{createDate,jdbcType=VARCHAR},#{endDate,jdbcType=VARCHAR}
)
</insert>
转载于:https://www.cnblogs.com/ycblus/p/5500527.html
mybatis使用oracle自动生成主键相关推荐
- MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
MyBatis自动生成的主键很多数据库支持自动生成主键的数据类型.不过这通常(并不总是)是个私有的特性.SQL Map 通过<insert>的子元素<selectKey>来支持 ...
- plsql导入数据主键_使用plsql添加数据并自动生成主键
使用plsql添加数据并自动生成主键 步骤如下: 步骤一:新建需要创建的表如: -- Create table create table IRC_SYS_DATADIC ( datadic_id VA ...
- dm数据库无法用序列自动生成主键,无法解析的成员访问表达式【SEQ_STU_CON_NEXTVAL】
报错信息: 无法解析的成员访问表达式[SEQ_STU_CON_NEXTVAL] select SEQ_STU_CON_NEXTVAL 这种错的解决方案,在dm数据库中创建一个序列叫SEQ_STU_CO ...
- SQL DDL 生成建表语句(可自动生成主键约束,字段默认值等)
--获取建表DDL(+主键) declare @tabname varchar(50) set @tabname='sys_log'--表名if ( object_id('tempdb.dbo.#t' ...
- 三种获得自动生成主键的方法,getGeneratedKeys,专用SQL和可更新的结果集
简单总结了一下我目前知道的方法. package test; import java.sql.Connection; import java.sql.DriverManager; import jav ...
- Hibernate保存数据自动生成主键出现奇怪异常Duplicate entry '0' for key 1
今天在写一块程序的时候,出现了一个异常信息,捣鼓了一上午,终于找到了异常原因--不仅仅是简单的主键冲突问题 测试数据库:MySQL 异常信息如下: org.hibernate.exception.Co ...
- MYSQL触发器自动生成主键UUID
MYSQL导入数据时,通过触发器自动生成UUID beginif new.id is null THEN set new.id = (replace(uuid(),"-",&quo ...
- mysql插入时主键id为uuid_mysql插入数据自动生成主键uuid
DemoMapper.java //注意方法的返回值必须是void; void add(Demo demo); ============================================ ...
- MyBatis insert操作插入,返回主键from官方
下面就是 insert,update 和 delete 语句的示例: <insert id="insertAuthor" parameterType="domain ...
- EntityFramework实体默认值遇到Oracle自增主键
1. Oracle实现主键自动增长 一般我们在Oracle实现主键自动增长,通常通过序列加触发器实现. 定义序列用于获取递增数字 CREATE SEQUENCE 序列名[INCREMENT BY n] ...
最新文章
- SAP_SD常用增强
- jdbc连接数据scanip_java数据库连接_jdbc
- html radio 作用域,ionic 表单输入 ion-checkbox ion-radio ion-toggle ion-spinner
- java集合框架——接口图+类图+遗留类图
- JavaScript玩转机器学习:保存并加载 tf.Model
- Python进阶_mysql(1)
- 渗透中Meterpreter基本操作和对应的windows上的排查或者现象
- aws php sns,PHP中的AWS SNS HTTP订阅确认
- 英特尔® 实感™ SDK 架构
- 【学习笔记 1】集成电路发展及其设计制造流程(ICer必备)
- iShare.js分享插件
- js 限制鼠标移动范围
- VirtualBox设置桥接网络
- 项目实训第一周第三篇
- 使用itextpdf生成pdf
- 蓝奏云直链解析php,【带源码】新思路--蓝奏云直链解析
- Servlet | ServletConfig接口、ServletContext接口详解
- Tomcat系列:Tomcat版本与JDK版本对应关系
- 亲亲亲亲兄弟们必学成为首富第一步学习Linux基础命令
- 飞卡日常进度之山外上位机的二值化模式和灰度模式