mybatis一对多配置文件配置代码
时间: 2023-11-21 16:04:07 浏览: 85
假设我们有两个实体类:Order(订单)和OrderItem(订单项),它们之间是一对多的关系,一个订单可以包含多个订单项。以下是对应的MyBatis配置文件。
1. 配置Order的resultMap:
```
<resultMap id="orderMap" type="com.example.Order">
<id property="id" column="id"/>
<result property="orderNo" column="order_no"/>
<result property="createTime" column="create_time"/>
<!-- 配置Order与OrderItem的一对多关系 -->
<collection property="orderItems" ofType="com.example.OrderItem">
<id property="id" column="item_id"/>
<result property="itemName" column="item_name"/>
<result property="itemPrice" column="item_price"/>
</collection>
</resultMap>
```
2. 配置查询语句:
```
<select id="findOrderById" resultMap="orderMap">
SELECT o.id, o.order_no, o.create_time,
i.id AS item_id, i.item_name, i.item_price
FROM orders o LEFT JOIN order_items i ON o.id = i.order_id
WHERE o.id = #{id}
</select>
```
其中,`resultMap`属性指向上面配置的`orderMap`,查询语句中使用了左连接将订单表和订单项表关联起来,并根据订单id查询对应的订单和订单项信息。
3. 在Order实体类中添加`List<OrderItem>`类型的属性和对应的getter和setter方法。
以上就是MyBatis配置一对多关系的完整示例。
阅读全文