一对多查询是指一个实体对象关联多个子实体对象。比如一个订单(orders)可以有多个订单项(order_items),这是一个典型的一对多关系。
在MyBatis中进行一对多查询,可以使用嵌套查询或者使用关联映射(association)和集合映射(collection)来实现。
在MyBatis的映射文件中,可以使用association和collection标签来定义一对多关系的映射关系。association标签可以关联两个实体类,collection标签可以关联一个实体类和一个集合。
今天实现了通过集合映射(collection)的方式来实现,步骤记录如下;
1. 数据库表设计
假设有两个表:orders
和 order_items
,
orders 表
order_items 表
item_id | order_id | product_name | quantity |
---|---|---|---|
1 | 1 | 产品A | 2 |
2 | 1 | 产品B | 1 |