写一个resultmap的association示例
时间: 2023-11-22 07:56:21 浏览: 37
假设我们有两个实体类:
```java
public class User {
private Integer id;
private String username;
private Integer age;
private List<Order> orders;
// 省略getter和setter方法
}
public class Order {
private Integer id;
private String orderNo;
private Double amount;
// 省略getter和setter方法
}
```
我们希望查询用户及其所有订单的信息,可以使用ResultMap的Association配置来实现:
```xml
<!-- 定义User实体类的ResultMap -->
<resultMap id="userResultMap" type="User">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="age" column="age"/>
<!-- 配置User实体类关联Order实体类的信息 -->
<association property="orders" resultMap="orderResultMap"/>
</resultMap>
<!-- 定义Order实体类的ResultMap -->
<resultMap id="orderResultMap" type="Order">
<id property="id" column="id"/>
<result property="orderNo" column="order_no"/>
<result property="amount" column="amount"/>
</resultMap>
<!-- 查询用户及其所有订单的信息 -->
<select id="findUserWithOrders" resultMap="userResultMap">
SELECT u.id, u.username, u.age, o.id, o.order_no, o.amount
FROM user u
LEFT JOIN order o ON u.id = o.user_id
WHERE u.id = #{userId}
</select>
```
在User实体类的ResultMap中,我们使用了Association配置,将User实体类关联到Order实体类的ResultMap上。这样查询结果中,每条记录就会包含一个User实体类和其对应的多个Order实体类,从而实现了一对多的关联查询。