Mybatis 关联查询(二

一对多的管理查询结果映射

  1、进行一对多的查询时候,要在主查询表对应的Po中加入关联查询表对应PO的类的list集合作为属性。

public class Orders {
private Integer id;

private Integer userId;

private String number;

private Date createtime;

private String note;
//订单明细
private List orderdetails;
public List getOrderdetails() {
return orderdetails;
}
......
}
  2、创建查询结果映射的resultMap



















  3. 编写mapper.xml


  4. 编写mapper接口文件

public List findOrdersAndOrdertail() throws Exception;
  5. 测试代码

public void testFindOrdersAndOrdertail() throws Exception{
SqlSession session = sessionFactory.openSession();
Mapper mapper = session.getMapper(Mapper.class);
List orders = mapper.findOrdersAndOrdertail();
for (Orders order : orders){
System.out.println(order);
}
}

二、总结

  1. mybatis使用resultMap的collection对关联查询的多条记录映射到一个list集合属性中。

  2. 使用resultType实现:
    将订单明细映射到orders中的orderdetails中,需要自己处理,使用双重循环遍历,去掉重复记录,将订单明细放在orderdetails中。

posted @ 2017-07-30 22:09  一条路上的咸鱼  阅读(312)  评论(0)    收藏  举报