环境
- 框架:RuoYi-Vue-Plus
- Spring Boot:2.X
- Mybatis-Plus:3.X
- MySQL:8.0
问题
在一些时候,我们的主键id都是int类型,采用数据库自增策略。如果当我们的业务需要采用String类型的数据库,我们该如何实现自增策略呢?
分析
在MySQL中,int可以设置为自增,而String则不可以设置自增。那么我们如果需要自增的话,只能在代码中实现 了。
其实Mybatis-Plus已经给我们封装好了自增的方法,我们在实体类中添加@Table(type=xxx)注解即可。
官方也给了我们相关注解的用法
请注意Mybatis-Plus版本
/** * 生成ID类型枚举类 * * @author hubin * @since 2015-11-10 */ @Getter public enum IdType { /** * 数据库ID自增 *该类型请确保数据库设置了 ID自增 否则无效 */ AUTO(0), /** * 该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT) */ NONE(1), /** * 用户输入ID *该类型可以通过自己注册自动填充插件进行填充 */ INPUT(2), /* 以下2种类型、只有当插入对象ID 为空,才自动填充。 */ /** * 分配ID (主键类型为number或string), * 默认实现类 {@link com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator}(雪花算法) * * @since 3.3.0 */ ASSIGN_ID(3), /** * 分配UUID (主键类型为 string) * 默认实现类 {@link com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator}(UUID.replace("-","")) */ ASSIGN_UUID(4); private final int key; IdType(int key) { this.key = key; } }
解决
根据官方提供的我们可以填写相应的注解完成String自增
本文作者为小王子,转载请注明。