mybatisplus 自定义主键生成器
时间: 2023-09-27 09:11:11 浏览: 109
MyBatisPlus.md
在 MyBatis Plus 中,你可以自定义主键生成器来生成自定义的主键值。以下是一个示例:
1. 创建一个实现了 IdentifierGenerator 接口的自定义主键生成器类,例如 CustomIdGenerator:
```java
public class CustomIdGenerator implements IdentifierGenerator {
@Override
public Serializable nextId(Object entity) {
// 这里编写自己的主键生成逻辑
// 返回生成的主键值
}
}
```
2. 在实体类中使用 @TableId 注解指定使用自定义主键生成器,例如:
```java
public class User {
@TableId(type = IdType.ASSIGN_ID, generator = "customIdGenerator")
private Long id;
// 其他属性和方法省略
}
```
3. 在 MyBatis Plus 的配置文件中配置自定义主键生成器,例如 application.properties 或 application.yml:
```yaml
mybatis-plus:
global-config:
db-config:
id-type: auto # 设置全局的主键类型为自动增长
configuration:
id-generator-type: custom # 设置自定义主键生成器
```
4. 在 MyBatis Plus 的配置类中将自定义主键生成器注册到 MyBatis 的全局配置中,例如:
```java
@Configuration
public class MybatisPlusConfig {
@Bean
public IdentifierGenerator customIdGenerator() {
return new CustomIdGenerator();
}
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 添加其他拦截器
return interceptor;
}
}
```
通过以上步骤,你就可以使用自定义的主键生成器来生成自定义的主键值了。请根据你的实际需求来编写自己的主键生成逻辑。
阅读全文