使用resultMap将查询出的订单明细信息映射Order,java的属性中

在Orders.java创建订单明细属性(一个集合对象,一订单对应多个订单明细)

public class Orders {private int id;//订单号private int user_id;//用户的idprivate String order_number;//订单号//用户的信息private User user;//订单明细private List<Orderdetail> orderdetails;

目标:将查询出的订单及订单明细映射到Orders类中,将明细信息(多个)映射到List中

Mapper.xml

定义resultMap

 <!--     一对多映射,根据订单查询订单明细出来extends:继承resultMap,如果是垮namespace,需要加上namespace名--><resultMap type="orders" id="ordersUserDetailResultMap" extends="ordersUserResultMap"><!--映射订单的明细 collection:映射集合对象property:映射到那个po,输入全类名或者别名ofType:映射po的类型--><collection property="orderdetails" ofType="com.mo.pojo.Orderdetail"><!-- column:字段名property:po类属性id:唯一的字段,一般为主键 result:普通字段--><id column="orderdetail_id" property="id"/><result column="item_id" property="item_id"/><result column="item_num" property="item_num"/><result column="item_price" property="item_price"/></collection></resultMap>

写statement

<!-- 一对多映射,根据订单查询订单明细 -->   <select id="findOrdersUserDetailList" resultMap="ordersUserDetailResultMap">SELECT orders.*,USER.username,USER.address ,orderdetail.id orderdetail_id,orderdetail.item_id,orderdetail.item_num,orderdetail.item_priceFROMorders,USER,orderdetailWHEREorders.user_id = USER.id AND orders.id = orderdetail.orders_id</select>

写Mapper.java

public interface OrdersMapperCustom {List<Orders> findOrdersUserDetailList();
}

结果

使用resultMap就可以自定义 ,将查询结果映射到list集合对象中

使用resultType是无法将查询结果映射到一个list集合对象中

mybatis使用resultMap实现一对多查询 (需求:查询订单以及订单明细)相关推荐

  1. MyBatis使用ResultMap处理一对多多对一

    出现下列情况: 员工表Emp和部门表Dept是多对一的关系,员工实体类中有Dept这个属性, 但是多表连接查询的时候只能查出Dept这张表的did和dname,无法和Dept这个属性进行关联, 此时若 ...

  2. Mybatis的resultMap自定义映射

    Mybatis 自定义映射和分布查询: 自定义映射 自定义resultMap,实现高级结果集映射 id :用于完成主键值的映射 result :用于完成普通列的映射 association :一个复杂 ...

  3. Mybatis Plus 入门 简单的CRUD 使用详解 条件查询 分页查询 DML操作 MP代码生成器

    Mybatis Plus入门 MP是 MybatisPlus,简称MP,是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变.MP为简化开发.提高效率而生. 它已经封装好了 ...

  4. mybatis 使用in 查询时报错_使用mybatis的resultMap进行复杂查询 057

    拿到表的第一时间要学会分析陌生表的数据模型: 1.学习单表记录了什么东西(去学习理解需求) 2.学习单表重要字段的意义(优先学习不能为空的字段) 3.学习表与表之间的关系(一对一.一对多.多对多)通过 ...

  5. 7.Mybatis关联表查询(这里主要讲的是一对一和一对多的关联查询)

    视频地址:http://edu.51cto.com/sd/be679 在Mybatis中的管理表查询这里主要介绍的是一对一和一对多的关联查询的resultMap的管理配置查询,当然你也可以用包装类来实 ...

  6. Mybatis中如何实现一对一,一对多的关联查询?

    MyBatis实现一对一.一对多关联查询一般有两种方式: 方式一:sqlMapper配置文件 一对一:在resultMap标签中使用 association 标签 一对多:在resultMap 标签中 ...

  7. MyBatis总结六:resultMap详解(包含多表查询)

    From: https://www.cnblogs.com/Alex-zqzy/p/9296039.html 简介: MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返 ...

  8. 使用mybatis的resultMap进行复杂查询

    记录下mybatis的集合查询中碰到的问题 https://jaychang.iteye.com/blog/2357143 MyBatis ofType和javaType区别 https://blog ...

  9. mybatis一对多关联查询_Mybatis 一对一、一对多的关联查询 ?

    <mapper namespace="com.lcb.mapping.userMapper"> <!--association 一对一关联查询 --> &l ...

最新文章

  1. UIActionSheet和UIProgressView的组合
  2. 信息系统项目管理师-项目需求管理知识点
  3. Linux学习总结(七十)docker-2
  4. PLSQL的UTL_FILE使用例子
  5. 【OpenCV】OpenCV函数精讲之 -- 格式化输出方法
  6. 面试问题(工作动机、个人愿望 )
  7. 基于visual Studio2013解决C语言竞赛题之1094纵横图
  8. 鼠标悬停显示图片html5,JavaScript 鼠标悬停图片,显示隐藏文本
  9. 深入学习c++(虚函数遇到析构函数就退化了)
  10. android查看native日志,Android 日志管理框架 NativeLogger
  11. TensorFlow2.0 学习笔记(四):迁移学习(MobileNetV2)
  12. python去掉停用词_Python - 删除停用词
  13. 基于串级pid控制系统的两轴无人机云台设计
  14. linux查看文件夹的命令是,linux查看文件夹大小命令是什么
  15. Three.js - 透视相机(PerspectiveCamera)(三)
  16. Android 复杂的列表视图新写法 MultiType (v3.1.0 修订版)
  17. python星号直角三角形边长公式_直角三角形求边长公式图解
  18. 搭建nfs调试arm开发板
  19. 个人账号密码管理体系(密码篇)
  20. HC-SR04超声波测距模块的原理介绍与代码实现

热门文章

  1. 苦逼的程序员怎么不知道这些网站呢?
  2. Java实现简体字向繁体字的转换
  3. C语言程序-求一元二次方程ax²+bx+c=0的实根解(设a≠0)
  4. Ray - 面向增强学习场景的分布式计算框架
  5. 在mm32f3270为micropython创建Pin模块(2)
  6. Java_Hive自定义函数_UDF函数清洗数据_清洗出全国的省份数据
  7. Word2010插入页码分节符
  8. poj_1974,最长回文字串manacher
  9. SQ3R阅读方法详解
  10. 车载GPS定位器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告