级联查询:resultMap完成sql查询结果对java对象的映射
上图是产品属性分类,应该关联的是属性参数表,前端需要的是,产品属性分类的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对象的映射相关推荐
- 预编译sql查询语句_频繁查询重新编译– SQL查询性能杀手–检测
预编译sql查询语句 previous part of this article, we presented query recompilation basics. We explained when ...
- json数据条件查询,json数据sql查询中文乱码
json 解析 分页 条件查询 从数据库中查询出来的json数据乱码可以使用 json_extract(json字段,'$') json字段 这个是json数据的条件查询 <sql id=& ...
- sql空字符串判断函数_Excel数据还可这样来查询:用SQL查询输出工作表指定区域更高效!...
对于数据库编程的朋友而言,SQL结构化查询技术并不陌生,也非常好用,凭借SQL强大的功能可以有效实现对数据库的数据表数据的"增.删.改.查"操作.一般而言,比较高级的语言环境,例如 ...
- sql \n 查询_探索SQL查询提示选项(快速N)
sql \n 查询 In this article, we will introduce SQL queries hint and will analyze the OPTION(Fast 'N') ...
- 预编译sql查询语句_频繁的查询重新编译– SQL查询性能的杀手–简介
预编译sql查询语句 In this article, we will explain what compilations and recompilations are, and give recom ...
- oracle中导出查询结果,Oracle SQL 查询结果导出到文本或Excel文件方法
(MEMO:利用spool缓冲池技术) 具体步骤如下: 1.在Oracle PL/SQL中输入缓冲开始命令,并指定输出的文件路径和文件名 spool d:\output.txt 2.在命令中输入相应的 ...
- 软件测试查询语句例题,SQL查询经典例题 - 青苹果测试博客 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
通过以下习题的练习,我们能快速熟悉掌握sql语句查询的语法和要领,大家要用心领会其中的要领和步骤,要学会分析步骤. 一.单表查询练习 1.查询,查询学生"张三"的全部基本信息 Se ...
- 【sql查询】使用sql查询一个物品是否在有效期内的方法(数据库无这个字段 通过生产日期和保质期进行计算得出)
sql有效期查询 和筛选的方式 事件起因 问题描述: sql给后端提供数据 实际应用场景 针对上述sql缺点进行的一点改进 事件起因 今天在写一个查询一个产品的使用期限的时候遇到这个问题,物品的使用期 ...
- 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做订单,所以在输出中 ...
最新文章
- php 打开动态链接,php调用com组件-dll文件(动态链接库)
- 在一个大项目中,我选择了另一种JDK实现AdoptOpenJDK
- 2020-11-06 Python OpenCV给证件照换底色
- SQLite入门之数据类型
- php用正则去掉一些固定字符,用PHP正则表达式清除字符串的空白
- 字典:散列表、散列字典、关键字列表、集合与结构体
- 面试官系统精讲Java源码及大厂真题 - 34 只求问倒:连环相扣系列锁面试题
- F5 APM针对Vmware view7.3 VDI业务发布测试问题分析
- Python对Excel的操作(openpyxl)
- MapReduce的模式、算法和用例
- buck变换器设计matlab_电力电子变换器控制设计(1)
- python求解最大子序列乘积问题,子序列可连续也可不连续
- ArcGIS 10 SP5 (Desktop, Engine, Server)中文版 补丁
- 简述一下mysql与sqlyog的安装
- centos xfs硬盘扩容
- java 将set转成数组,Java程序将Set转换为数组
- MySQL数据库密码破解
- MySQL数据库与数据表的创建
- JZ2440开发板之GPIO实验,遇到的链接语句、设置寄存器的问题
- 【Spark2运算效率】第四节 影响生产集群运算效率的原因之数据倾斜