Java代码在插入数据到ORACLE数据库的时候,如果主键是自增的,则可以通过创建序列的方法来实现;
1. 增加序列,需要发版;
create sequence seq_users // 序列名
increment by 1 // 每次增加1
start with 100 // 从1开始
minvalue 1 // 最小值
maxvalue 9999999 // 最大值
cache 20 // 一次缓存20个序列号
cycle; // 当达到最大值时,不是从start with设置的100开始循环。而是从1开始循环
// 除了序列名称之外,其他参数都是可以省略的
2. 查询当前的序列值;
// dual是虚表,用来凑语法的。
select seq_users.nextval from dual; //获取序列的下一个值:
select seq_users.currval from dual; // 序列当前值
3. 在mybatis文件中写脚本
a. id必须和dao层接口的方法名一样,参数类型也是,无返回值;
<!--批量插入List的方式-->
<!--separator代表的是(?,?,?),(?,?,?)-->
<insert id="insertSkillAssessList" parameterType="java.util.List">
insert into Ecc_tcm.prm_skill_assess t
(t.OID,
t.PERSON_NAME
)
values
<foreach collection="list" item="item" index="index" separator=",">
(seq_users.nextval,
#{item.personName}
)
</foreach>
</insert>