Oracle跟mysql最明显的不同就是:
MySQL可以主键自增,可以直接勾选主键自增,而Oracle不可以,需要写一条语句,再对id进行主键自增赋值:
主键自增的Oracle语句:SELECT AUTOID.NextVal FROM DUAL
写一个mapper单独存放主键自增:<mapper namespace="com.primeton.dam.boot.register.persistent.SeqMapper"> <select id="getCode" resultType="Long"> SELECT AUTOID.NextVal FROM DUAL </select> </mapper>
写一个对应的mapper.java文件:
public interface SeqMapper {
Long getCode();
}
对id进行赋值:
userTest.setUserID(seqMapper.getCode());
在新插入数据的时候,自增主键,一般在添加数据的时候不需要设置ID这一列,在往后台传的时候在service层不能直接调用mapper中的插入语句,因为此时自增主键为null不能插入,需要调用带有用户自增的service插入方法。