<!-- 订单及订单明细的resultMap 使用extends继承,不用在中配置订单信息和用户信息的映射 --> <resultMap type="cn.itcast.mybatis.po.Orders" id="OrdersAndOrderDetailResultMap" extends="OrdersUserResultMap"> <!-- 订单信息 --> <!-- 用户信息 --> <!-- 使用extends继承,不用在中配置订单信息和用户信息的映射 --> <!-- 订单明细信息 一个订单关联查询出了多条明细,要使用collection进行映射 collection:对关联查询到多条记录映射到集合对象中 property:将关联查询到多条记录映射到cn.itcast.mybatis.po.Orders哪个属性 ofType:指定映射到list集合属性中pojo的类型 --> <collection property="orderdetails" ofType="cn.itcast.mybatis.po.Orderdetail"> <!-- id:订单明细唯 一标识 property:要将订单明细的唯 一标识 映射到cn.itcast.mybatis.po.Orderdetail的哪个属性 --> <id column="orderdetail_id" property="id"/> <result column="items_id" property="itemsId"/> <result column="items_num" property="itemsNum"/> <result column="orders_id" property="ordersId"/> </collection> </resultMap>!-- 查询订单关联查询用户及订单明细,使用resultmap --> <select id="findOrdersAndOrderDetailResultMap" resultMap="OrdersAndOrderDetailResultMap"> SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.items_num, orderdetail.orders_id FROM orders, USER, orderdetail WHERE orders.user_id = user.id AND orderdetail.orders_id=orders.id </select>查询结果(包含订单 用户 订单详细信息) Orders{id=6, userId=1, number='1', createtime=Thu Mar 09 13:40:47 GMT+08:00 2017, note='大盘鸡送到涂鸦家', user=User [id=1, username=涂鸦, sex=男, birthday=null, address=湖北十堰], orderdetails=[Orderdetail [id=5, ordersId=6, itemsId=1, itemsNum=2]]} Orders{id=7, userId=2, number='2', createtime=Thu Mar 09 14:37:25 GMT+08:00 2017, note='大碗面快点送到 我饿死了!', user=User [id=2, username=涂勇, sex=男, birthday=null, address=湖北武当山], orderdetails=[Orderdetail [id=6, ordersId=7, itemsId=2, itemsNum=1]]}