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语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可. ...
随机推荐
- WebStorm 2018激活码
2RRJMBXW33-eyJsaWNlbnNlSWQiOiIyUlJKTUJYVzMzIiwibGljZW5zZWVOYW1lIjoi5b285bK4IHNvZnR3YXJlMiIsImFzc2lnb ...
- POJ 1915 Knight Moves
POJ 1915 Knight Moves Knight Moves Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 29 ...
- 时间通用类 datetime
/// <summary> /// 时间通用类 /// </summary> public class DateTimeGeneral { /// <summary> ...
- window.open() & iframe & tab
window.open() & iframe & tab window.open() open pages in the same window / tab https://stack ...
- vue 源代码创建tabs
<ul class="tabs"> <li class="li-tab" v-for="(item,index) in tabsPa ...
- SqlMapConfig.xml 的配置
jdbc.properties :数据库连接的配置 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://192.168.181.135:33 ...
- Web开发基础-Node.js-01
01-浏览器工作原理 1)人机交互部分(ui) 2)网络请求部分(socket) 3)javascript引擎 4)渲染引擎(解析html,css) 5)数据存储部分(cookie,本地存储等) -- ...
- zsh!oh-my-zsh! 好看的主题和插件以及我的.zshrc
题外话,由于clear每次打的很麻烦,可以直接使用ctrl+L清屏,和clear等效. First: 安装好zsh和oh-my-zsh Second: 接下来就可以开始享受了 主题:cloud 满 ...
- 洛谷P3159 交换棋子 神奇的网络流
神奇的建模...原题链接 如果你真的把交换看成交换,就\(GG\)了.首先我们要把交换看成是白棋的移动. 然后,很容易的就想到建模的大致思路:建立超级源点S和超级汇点T,从S向初始局面每个白棋所在的格 ...
- hbuilder、hbuilderx和vscode对比
1. 从内存来对比 1.1 vscode占用内存 打开同一个项目,发现vscode占用内存比较多 1.2 HBuilder占用内存 1.3 HBuilderx占用内存 1.4 对比 从内存上来看,HB ...