mybatisplus主键策略
时间: 2023-09-21 11:04:37 浏览: 125
MyBatis Plus(简称MP)是一款基于MyBatis的增强工具,它提供了许多便捷的功能来简化开发过程。在使用MyBatis Plus时,可以设置不同的主键策略来生成主键。
MyBatis Plus支持以下几种主键策略:
1. 自增主键(AUTO):使用数据库自增长的方式生成主键值。在MP中,可以通过注解@TableId(type = IdType.AUTO)来指定使用自增主键策略。
2. 手动输入主键(INPUT):由用户手动输入主键值。在MP中,可以通过注解@TableId(type = IdType.INPUT)来指定使用手动输入主键策略。
3. 全局唯一ID(ID_WORKER):使用Snowflake算法生成全局唯一ID。在MP中,可以通过注解@TableId(type = IdType.ID_WORKER)来指定使用全局唯一ID策略。
4. 全局唯一ID(UUID):使用UUID生成全局唯一ID。在MP中,可以通过注解@TableId(type = IdType.UUID)来指定使用UUID策略。
5. 全局唯一ID(NONE):不设置主键生成策略,由用户自行设置主键值。在MP中,可以通过注解@TableId(type = IdType.NONE)来指定不使用任何主键生成策略。
以上是MyBatis Plus常用的主键策略,根据具体需求选择合适的主键策略来生成主键值。
相关问题
mybatisplus主键策略自动生成
MyBatis-Plus(简称MP)是基于 MyBatis 的增强工具,它提供了许多方便的功能来简化开发过程。在 MyBatis-Plus 中,主键策略的自动生成可以通过使用注解来实现。
首先,你需要在实体类的主键字段上使用 `@TableId` 注解指定主键的生成策略。`@TableId` 注解有几个常用的属性,其中 `type` 属性用于指定主键生成策略的类型。
以下是几种常见的主键生成策略:
1. 使用数据库自增主键:设置 `type = IdType.AUTO`。这种策略适用于主键使用数据库自增的情况,比如 MySQL 中的自增主键。
```java
@TableId(type = IdType.AUTO)
private Long id;
```
2. 使用全局唯一ID:设置 `type = IdType.ASSIGN_ID`。这种策略适用于使用全局唯一ID生成器来生成主键,比如 Snowflake 算法生成的ID。
```java
@TableId(type = IdType.ASSIGN_ID)
private Long id;
```
3. 雪花算法ID:设置 `type = IdType.ID_WORKER`。这种策略适用于使用雪花算法生成分布式唯一ID。
```java
@TableId(type = IdType.ID_WORKER)
private Long id;
```
另外,你还可以使用 `@TableField` 注解来自定义主键的命名和映射关系。
以上是 MyBatis-Plus 中实现主键自动生成的常见方式,根据你的具体需求选择合适的策略进行配置。
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
```
阅读全文