高级功能
映射关系
一对一映射
SQL语句:用户订单查询
SELECT
orders.*,
USER.username,
USER.sex,
USER.address
FROM
orders,
USER
WHERE orders.user_id = user.id
resultType方法
1. 定义pojo对象
由于原始的Orders.java不能映射全部字段,所以需要新创建的pojo。如下:
2. 在mapper.xml相应的sql语句配置中,输出类型为上边定义的pojo对象。其他照旧。
resultMap
1. 思路:
1) 使用resultMap将查询结果中的订单信息映射到Orders对象中。
2) 在orders类中添加User属性,将关联查询出来的用户信息映射到orders对象中的user属性中。
2. 方法:
1) 在主表对应类中添加关联表对应的对象
2) 在mapper.xml中定义resultMap
3) Sql语句的配置
一对多映射
Sql语句:用户订单及订单明细
SELECT
orders.*,
USER.username,
USER.sex,
USER.address,
orderdetail.idorderdetail_id,
orderdetail.items_id,
orderdetail.items_num,
orderdetail.orders_id
FROM
orders,
USER,
orderdetail
WHERE orders.user_id = user.id ANDorderdetail.orders_id=orders.id
resultMap方法
1. 主表对应实体类中添加属性:在orders.java类中添加List<orderDetail> orderDetails属性。最终会将订单信息映射到orders中,订单所对应的订单明细映射到orders中的orderDetails属性中
2. 定义