数据库表的实现请参照:MyBatis-高级映射:一对一
Map映射文件中collection实现对多,association实现对一。
1.resultType和resultMap的选择
其实很多查询结果都是可以用resultType来实现,只有当想实现某个查询结果中包含一个子list,即出现list嵌套时,才会用到resultMap。resutType的方法相对比较简单,建议除非有嵌套list需求,其他都使用resultType方式。以下是用resultMap方式进行多对多查询的例子。2.数据表关系分析
查询用户表,找出用户的所有订单,按照订单查找所有的订单商品明细。
订单和订单商品明细之间构成了多对多的关系。OrderDetail表和Item之间是一对一的关系。
3.构建POJO类
用户映射用户-所有订单的POJO类package pojo;
import java.util.List;
public class UserOrderDetailItem extends User {
private List<UserOrder> userOrderList;
public List<UserOrder> getUserOrderList() {
return userOrderList;
}
public void setUserOrderList(List<UserOrder> userOrderList) {
this.userOrderList = userOrderList;
}
@Override