ibatis的insert中使用序列

 

Oracle中创建序列

create sequence MYDB_SEQUENCE
increment by 1
start with 1
nomaxvalue
minvalue 1;

 

xml写法

<insert id="insert" parameterClass="Student">
 <selectKey resultClass="String" keyProperty="mid">
  SELECT  MYDB_SEQUENCE.NEXTVAL FROM DUAL
 </selectKey>
 <![CDATA[
  insert into Student(id,name,age)
  values(#mid#,#mname#,#mage#)
 ]]>
</insert>

 

我们为什么说使用序列会出现跳号的情况呢?

有两个人A和B,A先使用序列,插入了一条数据,这时候序列为1。

B又使用同一个序列,这时候序列为2。

这个时候A后使用该序列了,为3。那么A的表中从1直接到3了,这就跳号了。为了避免这种情况,不同的表可以使用不同的序列。

 

 

 

时间: 2024-08-03 12:23:17

ibatis的insert中使用序列的相关文章

select-mybatis加oracle批量insert中的序列问题,可不可以用union做批量的sql语句--急

问题描述 mybatis加oracle批量insert中的序列问题,可不可以用union做批量的sql语句--急 <insert id="saveManyPopInfo" parameterType="java.util.List"> insert into popinfo (popid,popname,remark) select seq_popid.nextval,p.* from ( <foreach collection="lis

在MySQL中使用序列的简单教程_Mysql

序列是一组整数1,2,3,...中生成的顺序.序列中经常使用的数据库,因为很多应用都需要一个表中的每一行包含一个独特的值和序列提供了一个简单的方法来产生.本章介绍如何使用MySQL中的序列.使用自动递增列: 在MySQL中使用序列最简单的方法是定义一个AUTO_INCREMENT列,剩下的事情留给MySQL处理. 实例: 试试下面的例子.这将创建表之后,它会在此表中它不是必需的记录ID插入几行,因为它由MySQL自动递增. mysql> CREATE TABLE insect -> ( -&g

深入解读PostgreSQL中的序列及其相关函数的用法_PostgreSQL

一.简介 序列对象(也叫序列生成器)就是用CREATE SEQUENCE 创建的特殊的单行表.一个序列对象通常用于为行或者表生成唯一的标识符. 二.创建序列 方法一:直接在表中指定字段类型为serial 类型 david=# create table tbl_xulie ( david(# id serial, david(# name text); NOTICE: CREATE TABLE will create implicit sequence "tbl_xulie_id_seq"

iBATIS分页实例中ObjectDataSource的应用浅析

iBATIS分页实例中ObjectDataSource的应用首先让我们来看看属性方面的特点,ObjectDataSource 控件内置了对分页的支持.我们需要设置 ObjectDataSource 的 EnablePaging属性,然后要设置SelectMethod.SelectCountMethod .StartRowIndexParameterName和MaximumRowsParameterName 属性.当 EnablePaging 属性设置为 true 时,SelectParamete

根据前序和中序序列生成二叉树

一.前言: 我的一个同事拿来她老公的远程教育的考试题,叫大家帮着做,我写了这道,源码通过VC6编译链接,执行成功,呵呵:)题目就是给出了一个二叉树的前序序列(ABDCEGF)和中序序列(DBAEGCF),要求根据这两个输入完成一个二叉树,但没有指定用什么方式,所以我用了最笨拙的顺序存储二叉树,不过用了map来保存二叉树.题目还要求形成二叉树后可以遍历这个二叉树,由于三种遍历只是顺序不同,所以我只实现了后序遍历,何况输入就是前序和中序.:)本来应该用template做的,不过同事要求不要用复杂的C

ibatis操作oracle中CLOB类型的值

问题描述 ibatis操作oracle中CLOB类型的值 页面我是用了Struts标签,ibatis需要操作oracle中的CLOB类型的数据,该怎么操作?ibatis配置文件中需要设置什么样的类型于其对应.java中的实体类我是不是需要定义成CLOB类型呢?> 解决方案 可以配置ParameterMap和ResultMap就可以方便的实现对LOB的读写了,而且不用去实现任何类.只需要配置就可以了. 如: 这是返回的Clob 这是参数里面包含CLob 解决方案二: 解决方案三: 解决方案四: 解

Java Code Examples for org.apache.ibatis.annotations.Insert

    http://www.programcreek.com/java-api-examples/index.php?api=org.apache.ibatis.annotations.Insert http://www.concretepage.com/mybatis-3/mybatis-3-annotation-example-with-select-insert-update-and-delete  

C语言中的序列点和副作用

C 语言中,术语副作用(side effect)是指对数据对象或者文件的修改.例如,以下语句        var = 99; 的副作用是把 var 的值修改成 99.对表达式求值也可能产生副作用,例如:         se = 100 对这个表达式求值所产生的副作用就是 se 的值被修改成 100.    序列点(sequence point)是指程序运行中的一个特殊的时间点,在该点之前的所有副作用已经结束,并且后续的副作用还没发生.     C 语句结束标志--分号(;)是序列点.也就是说

Java由先序序列和中序序列还原二叉树

还原本来的二叉树并不是一个非常简单的事,虽然思想比较简单,但过程却是比较繁琐.下面我拿先序序列和中序序列来讲一下原理吧. 从先序序列中我们一下子就可以得到二叉树的根节点是第一个元素,然后再中序序列中我们也可以找到这个元素(假设二叉树中所有的元素的值不相同)这样我们就可以把中序序列分成两部分,前部分和先序序列可求得左子树,后部分与先序序列可求得右子树.下面以左部分为例,在除去根节点的前序序列中的第二个元素,就是我们左子树的的第一个节点,然后继续在中序序列的前部分中找到相同的元素,再次对中序序列进行