oracle整合mybatis-plus实现ID自增

我们知道mysql数据库是可以直接设置ID自增,但oracle数据库是无法直接设置ID自增,但是我又不想通过自定义sql去实现,所以在网上搜了一下关于mybatis-plus的相关配置,操作很简单,话不多说,直接上具体操作步骤:
1、先在PLsql里创建序列sequence:

create sequence SEQ_ID
minvalue 1 --增长最小值
maxvalue 99999999 --增长最大值,也可以设置nomaxvalue(不设置最大值)
start with 1 --1开始计数
increment by 1 --自增步长为1
cache 50 --设置缓存cache个序列,如果系统挂掉或者其他意外导致系统序列不连续,也可以设置nocache防止跳号
cycle; --循环,当达到最大值时,不是从start with设置的值开始循环,而是从1开始循环

2、配置mybatis-plus
在MybatisPlusConfig.java里加上代码如下:

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

3、在entity里加入@keySequence注解

@keySequence(value="SEQ_ID",clazz=String.class)
@TableName("EXAMPLE")
public class GenId{
   @TableId("ID")
   private String id;
   @TableField("TITLE")
   private String title;   
}
SEQ_ID是PLsql里创建序列的sequence,clazz=String.class需要与主键类型保持一致,主键ID类型是String类型,所以clazz后面也是String类型。

详情可参考:官方文档

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值