mybatis-plus自定义主键id不生效问题解决思路

原创
2022/02/27 15:00
阅读数 1K

mybatis-plus默认生成策略是雪花算法,想改成自定义的id策略,于是查看mybatis官方文档,按照文档步骤也很简单,代码如下:

@Component
public class CustomIdGenerator implements IdentifierGenerator {
    @Override
    public Long nextId(Object entity) {
      	//可以将当前传入的class全类名来作为bizKey,或者提取参数来生成bizKey进行分布式Id调用生成.
      	String bizKey = entity.getClass().getName();
        //根据bizKey调用分布式ID生成
        long id = ....;
      	//返回生成的id值即可.
        return id;
    }
}

只要在nextId方法里面的策略换成自己的id策略即可,但是在项目里面测试了N次都不生效,网上的各种方法试了,没用,于是根据IdentifierGenerator

查找id策略源码,发现始终是默认的策略,很迷惑,然后就查找mybatis-plus版本,3.3.2,是支持自定义id策略的,后来看到mybatis-plus-boot-starter的版本,3.1.0;预感到问题在这,于是mybatis-plus-boot-starter版本也换成3.3.2 ,成功了;由于项目mybatis-plus版本替换是同事完成的,没太在意版本兼容问题,导致这个问题。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部