MyBatis-Plus 提供了灵活的自定义ID生成器功能,允许开发者根据业务需求定制ID生成策略。从3.3.0版本开始,默认使用雪花算法结合不含中划线的UUID作为ID生成方式。
MyBatis-Plus自带主键生成策略对比
方法 | 主键生成策略 | 主键类型 | 说明 |
---|
nextId | ASSIGN_ID | Long,Integer,String | 支持自动转换为String类型,但数值类型不支持自动转换,需精准匹配,例如返回Long,实体主键就不支持定义为Integer |
nextUUID | ASSIGN_UUID | String | 默认不含中划线的UUID生成 |
如何自定义
MyBatis-Plus 提供了多种方式来实现自定义ID生成器,以下是一些示例工程和配置方法。
Spring Boot 集成
方式一:声明为Bean供Spring扫描注入
方式二:使用配置类
方式三:通过MybatisPlusPropertiesCustomizer自定义
Spring 集成
方式一:XML配置
方式二:注解配置
与KeyGenerator的差异
MyBatis-Plus的IdentifierGenerator
主要用于生成数据库表的主键ID,而KeyGenerator
是MyBatis框架中的一个接口,用于在执行SQL语句时生成键值,通常用于生成自增主键或者在执行INSERT语句后获取新生成的ID。
IdentifierGenerator
更加专注于主键ID的生成,而KeyGenerator
则更加通用,可以用于多种键值生成场景。在使用MyBatis-Plus时,通常推荐使用IdentifierGenerator
来生成主键ID,因为它与MyBatis-Plus的集成更加紧密,提供了更多的便利性和功能。
© 2016-2024 Baomidou™. All Rights Reserved.
Power by Astro Starlight |
Sponsored by JetBrains
渝ICP备2021000141号-1 |
渝公网安备50011302222097