mybatis中(Oracle)关于insert时主键自动加1的使用方法

<insert id="insert" paramType="User">

<selecKey keyProperty="id" order="BEFORE" resultType="int">

select user_sequence.nextval form dual

</selectKey>

</insert>

上述属性介绍:

keyProperty=“id” :类中的属性

order:生成策略:(insert into 执行之前还是之后):默认是执行之后

user_sequence:Oracle中的序列
    创建序列:

create sequence user_sequence

start with 1

increment by 1

nomaxvalue

minvalue 1

nocycle

cache 10;

时间: 2024-10-05 11:47:22

mybatis中(Oracle)关于insert时主键自动加1的使用方法的相关文章

oracle添加数据时主键自动增长

CREATE TABLE STUDENT( --创建学生表  ID NUMBER(10) PRIMARY KEY,   --主键ID  SNAME VARCHAR2(20), ); 此时给学生表添加数据时 必须指定id INSERT INTO STUDENT VALUES(1,'Tom'); 下面用触发器和序列结合使得添加数据时id自动增长 不要指定了 --创建序列CREATE SEQUENCE SEQ_STUINCREMENT BY 1  ID每次自增几START WITH 1 ID从几开始自

MyBatis在Oracle中插入数据并返回主键的问题解决

引言:  在MyBatis中,希望在Oracle中插入数据之时,同时返回主键值,而非插入的条数... 环境:MyBatis 3.2 , Oracle, Spring 3.2   SQL Snippet in XML Configuration: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType="

MyBatis insert返回主键(sqlserver2008)

mybatis insert返回主键(sqlserver2008) MyBatisXML配置,下面两种方式都行 方式1: <insert id="insert" parameterType="com.user.model.User" > <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >

oracle 实现 自增主键功能

转自:https://blog.csdn.net/zxh2075/article/details/78488141 之前有一项工作是将mysql的数据库实现转移到oracle,遇到了自增主键实现的问题. 首先介绍一下MySQL和Oracle的背景知识 1)MySQL建表时必须有一个主键(PRIMARY KEY), 每条主键内容必须唯一(Unique), 所以经常使用一个”ID”字段作为主键,给它一个”auto_increment”属性,让”ID”字段每条记录都自增”1″. 比如下表: 1 CRE

UPDATE 时主键冲突引发的思考【转】

假设有一个表,结构如下: root@localhost : yayun 22:59:43> create table t1 ( -> id int unsigned not null auto_increment, -> id2 int unsigned not null default '0', -> primary key (id) -> )engine=myisam; Query OK, 0 rows affected (0.00 sec) root@localhost

Mysql,SqlServer,Oracle主键自动增长的设置

1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如:   customers(id  auto_increment    , name (  customers(name)  id  customers; 以上sql语句先创建了customers表,然后插入两条记录,在插入时仅仅设定了name字段的值.最后查询表中id字段,查询结果为: 由此可见,一旦把id设为auto_increment类型,mys

MyBatis+MySQL 返回插入记录的主键ID

今天用到了多个表之间的关系,另一个表中的一个字段要以第一个表的主键作为外键. 下面说两种方法,MyBatis+MySQL 返回插入记录的主键ID: 第一种: <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User"> insert into us

sqlSever 存储过程 中 创建 事务(增删改操作),唯一的主键自动生成 (格式:自定义字母+时间+五位数字,例如:S2014103010001)

描叙: 1.使用带事务的sql 存储过程. 2.添加数据时,自动创建唯一的主键 格式 [一个字母]+[时间格式]+[一个五位数] 3.使用游标,通过另一个表的多条数据,来对当前表数据的添加,并自动生产 唯一主键 格式如上. 4.使用场景:增加主键唯一的主表数据的同时,从另一个表读取多条数据然后添加到子表中,并且生产的主键唯一. 5.使用环境: sqlserver. USE [MicroMall]GO/****** Object: StoredProcedure [dbo].[SaleOrderI

通过 jdbc 分析数据库中的表结构和主键外键

文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hibernate 是 ORM 框架,他是有能力根据实体生成数据库表的.我们在单元测试的时候用到了 dbUnit ,dbUnit 可以帮助我们在测试前把数据库的测试数据准备好,然后我们就利用现成的数据库环境测试,测试完成后需将数据库中的所有数据清除(为了不影响其他的单元测试),然后接着下一个测试.虽然已经