mybatis 在oracle数据库中插入数据时获取自增 sequence序列

在表中部分ID会使用创建Oracle的序列来赋值,使用mybatis 插入时需要把ID赋值为递增序列的当前

1.创建序列

--创建序列的语法  序列就是序号,每次获取的时候就会自动增加
CREATE SEQUENCE 表名.序列名
    INCREMENT BY 1 
  START WITH 1 -- 从1开始计数
  NOMAXvalue -- 不设置最大值
  NOCYCLE -- 一直累加,不循环
  CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE

2.在mybatis 配置文件中增加对序列的取值赋值到ID上 (resultType="java.lang.Integer" 是id的类型 在插入时实现递增)

<insert id="insert" parameterType="com.zpark.entity.UserEntity">
       <selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="id">
           SELECT 序列名 FROM DUAL
       selectKey>
   INSERT INTO User(
   id,userName,password)
   VALUES
   ( #{id,jdbcType=DECIMAL},#{userName,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR})
insert>

 

你可能感兴趣的:(mybatis 在oracle数据库中插入数据时获取自增 sequence序列)