MYbatisPlus中默认主键生成策略是什么
时间: 2024-05-18 21:11:32 浏览: 10
MybatisPlus中默认的主键生成策略是基于雪花算法的分布式主键生成策略。它使用了Twitter开源的雪花算法,生成的主键ID具有唯一性和趋势递增性,可以满足分布式系统中的主键生成需求。在使用MybatisPlus时,如果实体类中的id属性没有设置值,则会自动生成一个唯一的主键ID。如果需要使用其他主键生成策略,可以在实体类中使用相关注解进行配置。
相关问题
mybatisplus的主键生成策略
Mybatis-Plus默认采用雪花算法填充主键字段,即使没有配置主键的生成策略,执行新增操作时也会自动生成一个特别长的主键。[1]如果需要自定义主键生成策略,可以通过配置项来指定,例如使用Oracle数据库的主键生成器可以配置为:mybatis-plus.global-config.db-config.key-generators=com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator。[2]此外,Mybatis-Plus还内置了一些数据库主键序列,如DB2KeyGenerator、H2KeyGenerator、KingbaseKeyGenerator、OracleKeyGenerator和PostgreKeyGenerator,如果内置支持不满足需求,也可以实现IKeyGenerator接口进行扩展。[3]
mybatisplus 多主键
MybatisPlus-Plus提供了多种主键生成策略,可以通过@TableId注解的类型属性来设置主键id的增长策略。一共有多个主键策略可供选择,根据情况可以自由配置。其中包括AUTO(自动增长策略)等多种策略。[1]
在实际的生产过程中,有些业务场景可能需要使用复合主键来标识唯一性。然而,MybatisPlus和Mybatis默认不支持对复合主键的操作。如果遇到这个需求,可以通过导入相关依赖来实现对复合主键的操作。在项目中使用maven管理依赖,并注意版本关联。[2]
此外,Mybatis-Plus已经定义了一些常见的数据库主键序列,可以在@Configuration类中定义@Bean来使用。如果内置的主键序列不满足需求,还可以通过实现IKeyGenerator接口进行扩展。一些内置的数据库主键序列包括DB2KeyGenerator、H2KeyGenerator、KingbaseKeyGenerator、OracleKeyGenerator和PostgreKeyGenerator等。[3]