解决:MybatisPlus时自增id为什么不是从1开始?

332 阅读1分钟

你们好,我是金金金。

image.png

场景

插入一条记录:

  • 建表相关语句

image.png

  • ID设置了自增,但不是从1开始

image.png

  • 报错意思也非常明显了:nginx.conf:89中的[emerg]未知指令“stream”

排查

我这里用的是MybatisPlus作为持久层技术,首先我则是排查了一波代码并无相关异常

接着去官方文档看了看有关内容:baomidou.com/reference/#…

image.png

  • 发现了不对劲的地方,显而易见 默认采用的是雪花算法生成ID策略

造成error的原因

默认采用的是雪花算法生成ID策略

解决

使用数据库自增 ID 作为主键。

方法一

实体类主键字段上 利用@TableId注解指定主键的生成策略为自增

image.png

方法二

全局配置:在yml文件当中配置mp的全局配置

image.png

测试

两种方法本人亲测了 都是可以的,个人用的第二种,比较方便,无需再每一个实体类上都写注解~

image.png

总结

mp主键生成策略为雪花算法所导致,手动指定为数据库自增策略即可~

  • 编写有误还请大佬指正,万分感谢。