上图是产品属性分类,应该关联的是属性参数表,前端需要的是,产品属性分类的id,name,以及属性参数表的id,name。

定义了一个数据传输对象DTO,有产品属性分类的id,name,属性参数则定义了一个list。

在mapper.xml文件中:

<resultMap id="ListWithAttrMap" type="com.tulingxueyuan.mall.modules.pms.model.dto.ProductAttributeCateDTO"><id column="id" property="id"/><result column="name" property="name"/><collection property="productAttributeList"  resultMap="com.tulingxueyuan.mall.modules.pms.mapper.PmsProductAttributeMapper.BaseResultMap"></collection></resultMap><select id="getListWithAttr"resultMap="ListWithAttrMap">SELECTpac.id,pac.`name`,ppa.id attr_id,ppa.`name` attr_nameFROM`pms_product_attribute_category` pacLEFT JOIN `pms_product_attribute` ppa ON pac.id = ppa.product_attribute_category_idAND ppa.type = 1</select>

sql完成的结果映射的resultMap是ListWithAttrMap,完成了属性分类的id和name的映射,然后用collection 完成dto对象中的productAttributeList的映射,但是属性参数查询返回结果是attr_id和attr_name,无法映射到属性参数表的id和name,视频采用了<collection property="productAttributeList" columnPrefix="attr_" resultMap="com.tulingxueyuan.mall.modules.pms.mapper.PmsProductAttributeMapper.BaseResultMap"></collection>
通过去掉attr_的前缀来完成映射,我采用了自己新定义一个resultMap来完成映射

<resultMap id="ListWithAttrMap" type="com.tulingxueyuan.mall.modules.pms.model.dto.ProductAttributeCateDTO"><id column="id" property="id"/><result column="name" property="name"/><collection property="productAttributeList" resultMap="newMap"></collection></resultMap><resultMap id="newMap" type="com.tulingxueyuan.mall.modules.pms.model.PmsProductAttribute"><id column="attr_id" property="id"/><result column="attr_name" property="name"></result></resultMap>

如图:

级联查询:resultMap完成sql查询结果对java对象的映射相关推荐

  1. 预编译sql查询语句_频繁查询重新编译– SQL查询性能杀手–检测

    预编译sql查询语句 previous part of this article, we presented query recompilation basics. We explained when ...

  2. json数据条件查询,json数据sql查询中文乱码

    json 解析  分页  条件查询 从数据库中查询出来的json数据乱码可以使用 json_extract(json字段,'$') json字段 这个是json数据的条件查询 <sql id=& ...

  3. sql空字符串判断函数_Excel数据还可这样来查询:用SQL查询输出工作表指定区域更高效!...

    对于数据库编程的朋友而言,SQL结构化查询技术并不陌生,也非常好用,凭借SQL强大的功能可以有效实现对数据库的数据表数据的"增.删.改.查"操作.一般而言,比较高级的语言环境,例如 ...

  4. sql \n 查询_探索SQL查询提示选项(快速N)

    sql \n 查询 In this article, we will introduce SQL queries hint and will analyze the OPTION(Fast 'N') ...

  5. 预编译sql查询语句_频繁的查询重新编译– SQL查询性能的杀手–简介

    预编译sql查询语句 In this article, we will explain what compilations and recompilations are, and give recom ...

  6. oracle中导出查询结果,Oracle SQL 查询结果导出到文本或Excel文件方法

    (MEMO:利用spool缓冲池技术) 具体步骤如下: 1.在Oracle PL/SQL中输入缓冲开始命令,并指定输出的文件路径和文件名 spool d:\output.txt 2.在命令中输入相应的 ...

  7. 软件测试查询语句例题,SQL查询经典例题 - 青苹果测试博客 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    通过以下习题的练习,我们能快速熟悉掌握sql语句查询的语法和要领,大家要用心领会其中的要领和步骤,要学会分析步骤. 一.单表查询练习 1.查询,查询学生"张三"的全部基本信息 Se ...

  8. 【sql查询】使用sql查询一个物品是否在有效期内的方法(数据库无这个字段 通过生产日期和保质期进行计算得出)

    sql有效期查询 和筛选的方式 事件起因 问题描述: sql给后端提供数据 实际应用场景 针对上述sql缺点进行的一点改进 事件起因 今天在写一个查询一个产品的使用期限的时候遇到这个问题,物品的使用期 ...

  9. oracle里面如何查询sqlid,Oracle SQL查询:如何使用count

    我有以下格式的数据 userid amount term APR 1 10 5 1 1 10 4 2 2 20 6 1 2 20 4 3 2 20 3 1 我想按金额,期限,APR做订单,所以在输出中 ...

最新文章

  1. php 打开动态链接,php调用com组件-dll文件(动态链接库)
  2. 在一个大项目中,我选择了另一种JDK实现AdoptOpenJDK
  3. 2020-11-06 Python OpenCV给证件照换底色
  4. SQLite入门之数据类型
  5. php用正则去掉一些固定字符,用PHP正则表达式清除字符串的空白
  6. 字典:散列表、散列字典、关键字列表、集合与结构体
  7. 面试官系统精讲Java源码及大厂真题 - 34 只求问倒:连环相扣系列锁面试题
  8. F5 APM针对Vmware view7.3 VDI业务发布测试问题分析
  9. Python对Excel的操作(openpyxl)
  10. MapReduce的模式、算法和用例
  11. buck变换器设计matlab_电力电子变换器控制设计(1)
  12. python求解最大子序列乘积问题,子序列可连续也可不连续
  13. ArcGIS 10 SP5 (Desktop, Engine, Server)中文版 补丁
  14. 简述一下mysql与sqlyog的安装
  15. centos xfs硬盘扩容
  16. java 将set转成数组,Java程序将Set转换为数组
  17. MySQL数据库密码破解
  18. MySQL数据库与数据表的创建
  19. JZ2440开发板之GPIO实验,遇到的链接语句、设置寄存器的问题
  20. 【Spark2运算效率】第四节 影响生产集群运算效率的原因之数据倾斜

热门文章

  1. 如何解决MicrosoftOffice无法登录的问题?
  2. 团队项目题目(艾妮教务系统)
  3. 2014年总结--我的大学生活
  4. 什么样的公司会让员工有归属感
  5. html页面控制台输出,浏览器javascript输出控制台在哪?
  6. 人工智能领域单词其英文解释
  7. 编写测试用例的17个技巧
  8. 服务降级--Hystrix
  9. 当前地址栏(URL)参数含有特殊符号的处理[vue]
  10. AS5600 磁编码器使用心得及总结