mybatisplus的主键生成策略
时间: 2023-08-22 09:12:12 浏览: 121
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主键生成策略
Mybatis-Plus支持以下主键生成策略:
1. ASSIGN_ID:手动分配ID,需要在插入时设置主键值。
2. AUTO:自动增长,需要数据库支持自增长。
3. UUID:使用UUID作为主键,需要在实体类中使用`@TableId(type = IdType.UUID)`注解。
4. ID_WORKER:使用雪花算法生成ID,需要在实体类中使用`@TableId(type = IdType.ID_WORKER)`注解。
5. ID_WORKER_STR:使用雪花算法生成字符串类型的ID,需要在实体类中使用`@TableId(type = IdType.ID_WORKER_STR)`注解。
可以在配置文件中配置全局主键生成策略:
```properties
# 全局主键生成策略
mybatis-plus.global-config.db-config.id-type=ID_WORKER
```
mybatisplus 序列主键生成策略
MyBatis-Plus是一个在MyBatis基础上进行封装的增强工具,它提供了一种简化和增强开发的方式。在MyBatis-Plus中,可以使用不同的序列主键生成策略来生成表的主键。
下面是几种常用的序列主键生成策略:
1. 自增主键(AutoIncrement):这是最常见的主键生成策略,数据库自动递增生成主键值。在MyBatis-Plus中,可以使用`@TableId(type = IdType.AUTO)`注解来配置自增主键。
2. UUID主键:使用UUID作为主键,保证唯一性。在MyBatis-Plus中,可以使用`@TableId(type = IdType.UUID)`注解来配置UUID主键。
3. 雪花算法(Snowflake):这是一种分布式ID生成算法,生成的ID具有唯一性和有序性。在MyBatis-Plus中,可以使用`@TableId(type = IdType.ASSIGN_ID)`注解来配置雪花算法主键。
4. 数据库序列(Sequence):使用数据库自带的序列生成主键。在MyBatis-Plus中,可以使用`@TableId(type = IdType.INPUT)`注解来配置数据库序列主键,并通过`@KeySequence`注解指定对应的序列名。
这些是常见的序列主键生成策略,您可以根据具体需求选择适合的策略。在使用MyBatis-Plus时,通过使用相应的注解来配置主键生成策略,可以轻松地实现主键的自动生成。
阅读全文