cosmo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在表中部分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>

 

posted on 2020-02-20 15:29  【cosmo】  阅读(3564)  评论(0编辑  收藏  举报