mybatisplus id自动生成
时间: 2023-09-26 21:06:05 浏览: 110
MybatisPlus提供了多种方式来实现ID的自动生成。其中常见的方式有使用默认生成器和自定义ID生成器。
方式一:使用默认生成器
可以取消数据库表的ID自增设置,并将实体类的IdType设置为ASSIGN_ID,字段类型为Long。
示例代码:
```java
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
```
插入数据时,可以按照NONE方式进行测试。
方式二:使用自定义ID生成器
可以取消数据库表的ID自增设置,并将实体类的IdType设置为ASSIGN_ID,字段类型为Long。
示例代码:
```java
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
```
然后,添加一个自定义的ID生成器。可以使用Hutools中的雪花算法生成分布式ID作为自定义的ID生成器。
示例代码:
```java
@Component
public class CustomIdGenerator implements IdentifierGenerator {
@Override
public Long nextId(Object entity) {
//使用Hutools的雪花算法生成分布式ID
//参数1为终端ID
//参数2为数据中心ID
Snowflake snowflake = IdUtil.getSnowflake(1, 1);
return snowflake.nextId();
}
}
```
插入数据时,可以按照NONE方式进行测试。
请注意,以上代码仅是示例代码,具体的实现方式可以根据项目的需求进行调整和扩展。
阅读全文