SpringBoot+MyBatis-Plus实现自定义主键生成,长度自定义
总结自己在使用Mybatis-Plus主键自增时的问题:
(一)一般的程序员没有权限去修改数据库表的结构及属性,所以遇到使用MyBatis-Plus的主键自增策略时会发现,
1、当使用@TableId(type = IdType.AUTO)时,它自动生成的主键长度为20位。
2、使用@TableId(type = IdType.ASSIGN_ID)和@TableId(type = IdType.ASSIGN_UUID)时,长度更是比20位的AUTO长。
所以当数据库的主键长度小于MyBatis-Plus主键生成的最小长度@TableId(type = IdType=AUTO)20位时,新增的数据肯定插不进去,报错为超出范围。
解决方法:使用MyBatis-Plus的自定义主键生成策略。
步骤一:在SpringBoot中新建包
步骤二:在CustomIdGenerator.java中加入代码
@Slf4j
@Component