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