1 创建sequence序列

create sequence SEQ_ORA_INTEGER_KEY
minvalue 1  --增长最小值
maxvalue 99999999  --增长最大值,也可以设置NOMAXvalue -- 不设置最大值
start with 1  --从1开始计数
increment by 1  --自增步长为1
cache 50  --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---NOCACHE防止跳号
cycle;  --循环,当达到最大值时,不是从start with设置的值开始循环。而是从1开始循环

2 注入oracle序列生成器

@Configuration
public class MybatisPlusConfig {

    @Bean
    public IKeyGenerator keyGenerator() {
        return new OracleKeyGenerator();
    }
}

3 在entity中加入@KeySequence注解

@Data
@TableName("SHENCE_MC_JOB")
@KeySequence(value = "SEQ_ORA_INTEGER_KEY")
public class ShenCeMcJob {
    @TableId(value = "id")
    private Integer id;

    private Long tableId;

    private String tableName;
    
    @TableLogic
    private String isValid;

    private Date createdDate;

    private Date modifiedDate;

    private String createdBy;

    private String modifiedBy;
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐