问题描述:@TableId(type = IdType.ASSIGN_ID) 注解不生效,无法生成雪花ID,我用了XML SQL 和 @Insert注解SQL方式都不行,也查了很多资料,有的说主键列必须是String,有的说必须是Long
解决问题:使用了该注解,就必须用MybatisPlus中的BaseMapper自带的Insert方法,也就是一张表针对一个对象做的增删改查。手写的SQL一律不生效!

而我的业务刚好没那么好对应关系,就是说我从一个对象会解析出N张表的数据填充,于是只能选择其他方式。

方法:直接调用MybatisPlus底层生成雪花ID的那个方法,然后填充进对应的列,然后再通过手写的SQL插入即可!
IdentifierGenerator identifierGenerator=new DefaultIdentifierGenerator();
user.setId(identifierGenerator.nextId(new Object()).toString());
Logo

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

更多推荐