查询所有用户信息,关联查询订单及订单明细信息及商品信息,订单明细信息中关联查询商品信息
1.1sql主查询表:用户信息关联查询:订单、订单明细,商品信息SELECT orders.*, user.username, user.sex , orderdetail.id orderdetail_id, orderdetail.items_num, orderdetail.items_id, items.name items_name, items.detail items_detailFROM orders, USER, orderdetail, itemsWHERE orders.user_id = user.id AND orders.id = orderdetail.orders_id AND items.id = orderdetail.items_id
pojo定义在user.java(主表)中创建映射的属性:集合 Listorderlist在Orders中创建映射的属性:集合List orderdetails 在Orderdetail中创建商品属性:pojo Items items
mapper.xml
将查询的数据库结果和User接收对象进行映射id是User的属性,user_id是查询的数据库表的列名 id是Orders的属性,id是查询的数据库表的列名
1.1 mapper.java
测试:
// 一对多查询使用resultMap @Test public void testFindUserOrderDetail() throws Exception { SqlSession sqlSession = sqlSessionFactory.openSession(); // 创建mapper代理对象 OrdersMapperCustom ordersMapperCustom = sqlSession .getMapper(OrdersMapperCustom.class); // 调用方法 Listlist = ordersMapperCustom.findUserOrderDetail(); System.out.println(list); }