第一种方案
首先在mybatis的配置文件中写一个全局配置bean,使用com.baomidou.mybatisplus.incrementer.OracleKeyGenerator
<bean id="globalConfig" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
<!-- AUTO->`0`("数据库ID自增")QW
INPUT->`1`(用户输入ID")
ID_WORKER->`2`("全局唯一ID")
UUID->`3`("全局唯一ID") -->
<property name="idType" value="3" />
<!-- 主键生成策略 -->
<property name="keyGenerator"><bean class="com.baomidou.mybatisplus.incrementer.OracleKeyGenerator"></bean></property>
</bean>
其次配置sqlSessionFactory,将全局配置注入到工厂bean中(这里使用mybatis-plus的工厂bean,其他配置略过):
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
......
<!-- MP 全局配置注入 -->
<property name="globalConfig" ref="globalConfig"/>
</bean>
然后在实体类中指定主键,并配置主键sequence:
@TableName("FE_USER")
//配置主键索引
@KeySequence("SEQ_FE_USER")
public class FeUser extends Model<FeUser> {
//指定主键id
@TableId(value="id",type=IdType.INPUT)
private long id;
...
}
第二种方案
第一种方案是基于mybatis.xml配置文件进行配置的,第二种是基于application.ym文件进行配置的,配置基本差不多,可参考官方文档:https://baomidou.gitee.io/mybatis-plus-doc/#/sequence