mybatisplus创建对象自动填充id
时间: 2024-12-09 09:12:35 浏览: 18
在使用MyBatis-Plus提供了一种简便的方法来实现这一功能。以下是具体的步骤和示例代码:
### 步骤一:配置主键策略
首先,需要在实体类中配置主键策略。通常情况下,我们会使用雪花算法(Snowflake)来生成唯一的主键ID。
```java
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@TableName("user")
public class User {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
// Getters and Setters
}
```
### 步骤二:配置全局策略
在配置类中配置全局的主键策略,确保所有实体类的主键生成策略一致。
```java
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.extension.incrementer.DbType;
import com.baomidou.mybatisplus.extension.incrementer.H2KeyGenerator;
@Configuration
@MapperScan("com.example.mapper")
public class MyBatisPlusConfig {
@Bean
public IdentifierGenerator identifierGenerator() {
return new H2KeyGenerator();
}
}
```
### 步骤三:创建对象并保存
在创建对象并保存时,MyBatis-Plus会自动填充ID。
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.entity.User;
import com.example.mapper.UserMapper;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void createUser() {
User user = new User();
user.setName("张三");
user.setAge(25);
userMapper.insert(user);
System.out.println("创建的用户ID为:" + user.getId());
}
}
```
### 总结
通过以上配置和代码示例,我们可以看到MyBatis-Plus在创建对象时能够自动填充ID。这个功能极大地简化了开发过程,避免了手动生成主键ID的繁琐步骤。
阅读全文