mybatisplus如何设置id为自动生成long类型的雪花id
时间: 2023-11-25 08:04:30 浏览: 120
MybatisPlus可以使用雪花算法生成long类型的id,需要在实体类中使用注解来指定属性为自动生成的id,并在MybatisPlus配置中启用雪花算法。
1. 在实体类中使用注解来指定属性为自动生成的id
```
@Data
public class User {
@TableId(type = IdType.ASSIGN_ID) // 指定id为自动生成的雪花id
private Long id;
private String name;
private Integer age;
}
```
2. 在MybatisPlus配置中启用雪花算法
```
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 添加雪花算法id生成器
interceptor.addInnerInterceptor(new SnowflakeIdGeneratorInterceptor());
return interceptor;
}
}
```
3. 使用MybatisPlus提供的BaseMapper接口进行数据操作
```
public interface UserMapper extends BaseMapper<User> {
}
```
在使用MybatisPlus进行数据操作时,可以直接通过BaseMapper接口中提供的方法来进行数据库的CRUD操作,无需编写SQL语句。例如,插入数据:
```
@Autowired
private UserMapper userMapper;
@Test
void insert() {
User user = new User();
user.setName("张三");
user.setAge(18);
userMapper.insert(user); // 自动生成雪花id,并插入数据
}
```
阅读全文