mybatisplus多表新增示例
时间: 2024-11-08 14:11:50 浏览: 14
MyBatisPlus是一个基于MyBatis的ORM框架增强工具,它简化了数据持久层的操作。当需要在一个操作中关联插入多个表时,可以使用多表新增(也称为批量关联插入)功能。
假设我们有两个关联实体,比如User和Address,每个User有多个Address:
```java
// User实体类
public class User {
private Long id;
private String name;
// Address集合
@TableField(fill = FieldFill.FALSE)
@ManyToMany(cascade = CascadeType.ALL)
private List<Address> addresses;
}
// Address实体类
public class Address {
private Long id;
private String city;
}
```
要在MyBatisPlus中添加新的用户并同时插入地址,你可以这样做:
```java
// 创建新的User和Address对象
List<User> users = new ArrayList<>();
User user = new User();
user.setName("John Doe");
List<Address> addresses = new ArrayList<>();
Address address = new Address();
address.setCity("New York");
// 将Address添加到User的addresses列表中
user.getAddresses().add(address);
// 使用Mapper的insertBatch方法批量保存
userRepository.insert(user);
```
在这个例子中,`userRepository`是一个自动生成的Mapper接口,它的`insert`方法默认支持关联插入。如果你的MyBatisPlus版本支持,`insertBatch`方法会一次性将用户和所有相关的地址一起插入数据库。
阅读全文