mybatis一对多查询之collection的用法
首先看一下返回的数据的格式:

//获取端子信息
List<Map<String, Object>> portList = doneTaskDao.queryTroubleTaskPort(map);
<resultMap id="troubleTaskPortMap" type="Map" >
<result column="PORT_ID" property="PORT_ID"/>
<result column="PORT_NO" property="PORT_NO"/>
<result column="EQP_NO" property="EQP_NO"/>
<result column="EQP_NAME" property="EQP_NAME"/>
<result column="GLBM" property="GLBM"/>
<result column="GLMC" property="GLMC"/>
<result column="TASK_ID" property="TASK_ID"/>
<collection property="portCheckedList" column="{TASK_ID=TASK_ID,PORT_ID=PORT_ID}" select="getPortCheckedList"></collection>
</resultMap>
<select id="queryTroubleTaskPort" parameterType="map" resultMap="troubleTaskPortMap">
select distinct r.port_id,
r.port_no,
r.eqp_no,
r.eqp_name,
td.glbm,
td.glmc,
r.task_id
from tb_cablecheck_record r, tb_cablecheck_taskdetail td
where r.detail_id = td.detail_id
and td.inspect_object_type = 1
and r.task_id = #{TASK_ID}
order by to_number(regexp_substr(r.port_no, '[0-9]*[0-9]', 1)),
to_number(regexp_substr(r.port_no, '[0-9]*[0-9]', 3))
</select>
<select id="getPortCheckedList" parameterType="map" resultType="map">
select r.record_id,
r.record_type,
r.descript,
(select bs.staff_name from TB_BASE_STAFF bs where bs.staff_id=r.create_staff) create_staff,
r.create_time,
decode(r.ischeckok, 0, '合格', '不合格') ischeckok,
p.photo_path,
p.micro_photo_path
from TB_CABLECHECK_RECORD r left join TB_CABLECHECK_PHOTO_REL pr on r.record_id=pr.object_id
left join tb_cablecheck_photo p on p.photo_id=pr.photo_id
where r.port_id = #{PORT_ID}
and r.task_id = #{TASK_ID}
</select>
mybatis一对多查询之collection的用法的更多相关文章
- mybatis 一对多查询 集合创建空对象的问题
在做 mybatis 一对多查询的时候, resultMap 里面用到了集合标签 collection ,后来发现 当该条数据没有子集的时候, collection 会自动创建一个属性都是null的对 ...
- Mybatis一对多查询得不到多方结果
一对多查询:一个年级对应多个学生,现在要查询年级(带学生)信息. 查询结果: [main] INFO com.java1234.service.GradeTest - 查询年级(带学生)[main] ...
- mybatis一对多查询resultMap只返回了一条记录
问题描述:因为领导的一个需求,需要用到使用resultMap,很久没使用了,结果就除了点意外.就记录下这个问题 准备两个类:author(作者)和book(书),数据库创建对应的author-> ...
- mybatis一对多查询
18 <!-- 19 方式一:嵌套结果:使用嵌套结果映射来处理重复的联合结果的子集 20 封装联表查询的数据(去除重复的数据) 21 select * from class c, teacher ...
- mybatis 一对多查询
需求:一条数据对应多张表 ad_share_friends 主表 ad_share_image 图片表 建立实体 adShareFriends 和 adShareImage *注意在adShar ...
- Mybatis 之级联查询 一对多配置
Mybatis级联 查询相对于hibenate是有点麻烦,但是相应好处也是有的,Mybatis轻量.根据自己要的字段配置方便 一对多配置用 <collection property=&quo ...
- mybatis 一对多和多对一关联查询
首先 数据库量表之间字段关系(没有主外键) studentmajor表的id字段对应student表里major字段 两个实体类 package com.model; import java.uti ...
- mybatis的一对一,一对多查询,延迟加载,缓存介绍
一对一查询 需求 查询订单信息关联查询用户信息 sql语句 /*通过orders关联查询用户使用user_id一个外键,只能关联查询出一条用户记录就可以使用内连接*/ SELECT orders.*, ...
- mybatis由浅入深day02_3一对多查询
3 一对多查询 3.1 需求(查询订单及订单明细的信息) 查询订单及订单明细的信息. 3.2 sql语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可. ...
随机推荐
- [题解]玩具谜题(toy)
玩具谜题(toy) 来源:noip2016 提高组 day1 [题目描述] 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个 ...
- 如何改善SSH连接过慢(效率)
+++++++++++++++++++++++++++++++++++++++++问题:通过SSH链接远程Linux主机过慢.重点:学习如何通过调整ssh_config配置文件,提高SSH连接效率.时 ...
- Oracle完全卸载详解
Oracle数据库的安装这里就不说了,网上应该有很多,但是oracle数据库的卸载却找不到一个比较详细的完整卸载的说明.很多卸载不完全,会有遗留数据,影响后续的安装.所以自己整理一份以前上学的时候学习 ...
- form单选框
form中的单选框: var resultStartRadio = new Ext.form.RadioGroup({ id : 'resultStartRadio', name :"for ...
- git常用命令值stash
git stash(git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑git stash. 使用git的时候,我们 ...
- NodeJs之EXCEL文件导入导出MongoDB数据库数据
NodeJs之EXCEL文件导入导出MongoDB数据库数据 一,介绍与需求 1.1,介绍 (1),node-xlsx : 基于Node.js解析excel文件数据及生成excel文件. (2),ex ...
- 用WPS查看两篇word文档异同之处
写的合同,后期又有修改,电脑里同样名字的合同有好几个版本,不知道有什么不同,怎么办? 打开wps-->[审阅]-->[比较],剩下的按照提示很容易,略...
- eclipse中查看字节码
1:在线安装ByteCode插件 打开Eclipse Go to"Help -> Install new Software... -> Work with:"中选择By ...
- P1119 灾后重建(floyd进阶)
思路:这道题看n的范围很小(n<=200),显然就用floyd可以解决的问题,但又并不是简单的floyd算法,还是需要一些小小的变化.一开始我的思路是先跑一次弗洛伊德最短路,这样子显然复杂度很高 ...
- spring多模块项目手动整合
一.分别创建parent entity dao service controller web等模块项目,如图: 二.parent项目添加依赖 <!-- 集中定义依赖版本号 --> < ...