mybatis-plus mysql插入数据的时候自增ID如何处理
时间: 2024-09-23 08:10:41 浏览: 251
使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常)
3星 · 编辑精心推荐
在MyBatis-Plus框架中,当你需要向MySQL数据库插入数据,并期望主键(通常是自动递增的ID)由数据库自动生成时,你可以通过以下步骤操作:
1. **实体类映射**:在对应的实体类(例如`User.java`)上添加`@TableId`注解,并指定生成策略为`idType= AUTO_INCREMENT`,表示主键会自动增长。
```java
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@TableName("users")
public class User {
@TableId(value = "id", type = IdType.AUTO_INCREMENT)
private Long id;
// 其他字段...
}
```
2. **Mapper XML配置**:在`UserMapper.xml`或继承自`BaseMapper`的接口中,通常不需要显式地写入插入ID的语句,因为MyBatis-Plus默认会在插入操作后获取自增ID。
3. **执行插入**:通过`insert()`或`insertBatch()`方法执行插入操作,MyBatis-Plus会在后台自动完成ID的插入。
```java
@Autowired
private UserMapper userMapper;
// 插入一条用户信息
User user = new User();
// 设置其他字段...
userMapper.insert(user);
// 或批量插入
List<User> users = ...; // 创建用户列表
userMapper.insertBatch(users);
```
阅读全文