mybatis plus 一对多案例
时间: 2024-08-24 10:01:40 浏览: 65
Mybatis Plus是一个基于MyBatis的ORM框架增强工具,它提供了一种方便的方式来处理数据库操作,包括一对多关联关系。假设我们有两个表,一个是用户(User)表,另一个是用户地址(Address)表,它们之间的关系是一对多,即一个用户可以有多条地址。
在Mybatis Plus中,你可以通过以下步骤创建和管理这种关联:
1. **实体类映射**:
- 定义User实体类,包含Address的集合属性,例如`List<Address> addresses;`。
```
@Table("user")
public class User {
private Integer id;
private String name;
// getters and setters
@Related选填
private List<Address> addresses;
}
```
2. **Address实体类**:
- Address实体同样需要一个外键关联到User表,如`@BelongsTo注解`。
```
@Table("address")
public class Address {
private Integer id;
private String addressLine;
private User user; // 这里就是关联User的属性
// getters and setters
}
```
3. **数据持久化**:
- 当你需要保存用户及其地址时,可以直接将地址添加到User的addresses列表中,Mybatis Plus会自动处理一对一和一对多的关系插入和更新。
- 查询时,可以通过`@Select("SELECT * FROM user WHERE id = #{id}")`这样的SQL获取用户,并访问其addresses属性来获取所有地址。
4. **分页查询**:
Mybatis Plus也支持分页查询,通过`Page<User>`对象配合`IPage<T>`接口,可以很方便地获取并处理关联的数据。