插入实体自增主键太长,mybatis-plaus自增主键
spring-boot整合mybtais执行insert语句时,主键id为长文本数据。1、打印项目执行sql日志,发现insert执行语句中,id已经赋值。2、分析id复制语句,发现是mybatis-plaus自动赋值。2)数据库主键的种子值设置的多少。1)数据库主键设置的时自增。1)数据库主键是否自增。所以排查是数据库的问题。5、mybatis-plaus主键策略。
·
1、问题
spring-boot整合mybtais执行insert语句时,主键id为长文本数据。
2、分析问题
1)数据库主键是否自增
2)数据库主键的种子值设置的多少
3、解决问题
1)数据库主键设置的时自增
3)种子值是1
所以排查是数据库的问题
4、继续归因
1、打印项目执行sql日志,发现insert执行语句中,id已经赋值。
2、分析id复制语句,发现是mybatis-plaus自动赋值。
5、mybatis-plaus主键策略
发现mybatis-plus默认的主键生成是全局唯一的UUID,会导致生成的id过长。
AUTO |
数据库自增 | 数据库表主键设置为自增 |
INPUT |
用户输入 ID | 用户提供主键值 |
ID_WORKER |
使用 Snowflake 算法生成全局唯一 ID(Long 类型) | 分布式系统中生成全局唯一 ID |
UUID |
使用 UUID 算法生成全局唯一 ID(String 类型) | 需要全局唯一的字符串 ID |
NONE |
未设置主键类型 | 需要手动设置主键值 |
ID_WORKER_STR |
使用 Snowflake 算法生成全局唯一 ID(String 类型) | 生成全局唯一字符串 ID |


魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)