mybatis-plus使用Oracle函数生成主键

Posted 火光闪耀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis-plus使用Oracle函数生成主键相关的知识,希望对你有一定的参考价值。

函数的调用方式为:

select pkg1.fun1 from dual;

mybatis-plus一般会使用的主键生成策略为:

    @Bean
    public OracleKeyGenerator oracleKeyGenerator(){
        return new OracleKeyGenerator();
    }

此处由于要使用自定义主键生成策略,所以就不需要以上Bean了。

自定义主键生成策略:

@Slf4j
@Component("mybatisPlusKeyGenerator")
public class MybatisPlusKeyGenerator implements IKeyGenerator {
    @Override
    public String executeSql(String incrementerName) {
        log.info("执行自定义Key生成器,参数:{}",incrementerName);
        return "select pkg1.get_key_id from dual";
    }
}

然后在数据库实体对象上添加序列注解即可:

@TableName("tablename")
@KeySequence("mybatisPlusKeyGenerator")
public class User{
    @TableId(value = "id", type = IdType.INPUT)
    private Long id;

    @TableField("name")
    private String name;
}

这样就配置好了。

以上是关于mybatis-plus使用Oracle函数生成主键的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis-Plus--使用雪花算法生成主键ID--使用/分析

MyBatis-Plus 设置Oracle 自增长序列(Sequence)

浅谈MyBatis-Plus学习之Oracle的主键Sequence设置

oracle生成主键唯一的id,函数SYS_GUID()

mybatis使用oracle自动生成主键

mybatis-plus代码生成器(新)项目案例