MyBatis学习笔记(4)-resultMap多对多映射使用总结

这篇博客介绍了如何在MyBatis中使用resultMap进行多对多映射。从SQL查询开始,说明了通过orders、orderdetail、items表关联用户信息。接着,阐述了映射思路,包括将用户、订单、订单明细和商品信息映射到对应的类属性中。在OrdersCustomMapper.xml中定义了resultMap和statement,并在OrderCustomMapper.java中实现了相关操作。最后,通过测试代码验证了resultMap的效果,并对resultType和resultMap的区别进行了总结。
摘要由CSDN通过智能技术生成

SQL语句

  • 查询的主表:用户表user
  • 关联的关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表是orders、orderdetail、items

SELECT语句如下

SELECT
        orders.*,
        USER.username,
        USER.sex,
        USER.address,
        orderdetail.id orderdetail_id,
        orderdetail.items_id,
        orderdetail.items_num,
        orderdetail.orders_id,
        items.name items_name,
        items.detail items_detail,
        items.price items_price
        FROM
        orders,
        USER,
        orderdetail,
        items
        WHERE orders.user_id = user.id AND orderdetail.orders_id=orders.id AND orderdetail.items_id = items.id

映射思路

  • 将用户信息映射到user中。
  • User类中添加订单列表属性List<Orders> orderslist,将用户创建的订单映射到orderslist
  • Orders类中添加订单明细列表属性List<OrderDetail>orderdetials
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值