mybatis在oracle数据库中插⼊数据时获取⾃增sequence序列在表中部分ID会使⽤创建Oracle的序列来赋值,使⽤mybatis 插⼊时需要把ID赋值为递增序列的当前
1.创建序列
--创建序列的语法序列就是序号,每次获取的时候就会⾃动增加
CREATE SEQUENCE 表名.序列名
INCREMENT BY1
START WITH1-- 从1开始计数
oracle decimal类型NOMAXvalue -- 不设置最⼤值
NOCYCLE -- ⼀直累加,不循环
CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
2.在mybatis 配置⽂件中增加对序列的取值赋值到ID上 (resultType="java.lang.Integer" 是id的类型在插⼊
时实现递增)
<insert id="insert" parameterType="ity.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>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论