关联查询的resultMap写法示例
对于自定义对象一般使用association,对于集合一般使用collection。
对于一般的自定义对象
1、使用子查询:
<resultMap id="BaseResultMapWithItemInfo" type="com.xxx.biz.cases.model.ShCase" extends="BaseResultMap"><association property="applyBillDetailList" column="SERVICE_ID" select="com.xxx.biz.dao.ApplybillDetailMapper.getBriefInfoByServiceId" /><association property="commentSpList" column="SERVICE_ID" select="com.xxx.biz.dao.ServicePartcommentMapper.getCommentSpBriefInfoByServiceId" /><association property="finalUseSpList" column="SERVICE_ID" select="com.xxx.biz.dao.ServicePartcommentMapper.getFinalUseSpBriefInfoByServiceId" /></resultMap>
2、不使用子查询:
<resultMap type="org.apache.ibatis.submitted.associationtest.Car" id="carResult"> <id column="carid" property="id"/> <result column="cartype" property="type"/> <association property="engine" resultMap="engineResult"/> <association property="brakes" resultMap="brakesResult"/> </resultMap> <resultMap type="org.apache.ibatis.submitted.associationtest.Engine" id="engineResult"> <result column="enginetype" property="type"/> <result column="enginecylinders" property="cylinders"/> </resultMap> <resultMap type="org.apache.ibatis.submitted.associationtest.Brakes" id="brakesResult"> <result column="brakesType" property="type"/> </resultMap>
或者类似如下写法:
<resultMap type="org.apache.ibatis.submitted.associationtest.Car" id="carResult"> <id column="carid" property="id"/> <result column="cartype" property="type"/> <association property="engine" javaType="org.apache.ibatis.submitted.associationtest.Engine"> <result column="enginetype" property="type"/> <result column="enginecylinders" property="cylinders"/> </association></resultMap>
这样会自动在sql查询结果里找到相应的字段来组成相应的对象。
对于list
1、使用子查询:
<resultMap type="com.xxx.base.sys.domain.User" id="userWithRolesMap" extends="BaseResultMap"><collection property="roles" column="id" javaType="list" select="com.xxx.base.sys.dao.RoleMapper.selectUserRoleByUserId"> </collection> </resultMap>
2、当然,也可以不使用子查询
<collection property="tags" javaType="list" ofType="Tag" > <id property="id" column="tag_id"/> </collection>
这会让mybatis自动进行一个类似group by的操作,将所有其他字段重复的数据合并,然后将tag_id作为Tag的id属性拼成一个List<Tag>,这样做效率高一些,但是使用场景也是有限的。
3、如果list中的对象是String
<collection property="tags" javaType="list" ofType="String" > <result column="tag_id"/> </collection>
注意,以上2和3中collection标签和1一样,都应该包裹在resultMap标签中,这里为了省事省略了
转载于:https://www.cnblogs.com/flying607/p/4255101.html
关联查询的resultMap写法示例相关推荐
- 7.Mybatis关联表查询(这里主要讲的是一对一和一对多的关联查询)
视频地址:http://edu.51cto.com/sd/be679 在Mybatis中的管理表查询这里主要介绍的是一对一和一对多的关联查询的resultMap的管理配置查询,当然你也可以用包装类来实 ...
- MyBatis复习(五):获取多表关联查询结果
Map保存查询结果 <select id="selectBlogMap" resultType="java.util.Map">select b.* ...
- Spring整合Mybatis之关联查询示例
Spring整合Mybatis之关联查询示例 目录结构: Dept表: employee表: pojo包 Dept.java(实体类): package com.xmm.springboot_lab. ...
- 使用resultMap定义查询结果集,实现关联查询
接下来介绍resultMap定义查询结果集,实现关联查询 1 首先在接口中定义操作的方法 public interface EmployeeMapperPlus { public Employee g ...
- 318分组聚合,关联查询(多表连接查询)(连接查询),连接查询oracle写法,集合运算ld
----------分组聚合:对表里面的数据进行各个维度/角度的统计 -------------统计:需要用 聚合函数 max(目标字段):求最大值 min(目标字段) :求最小值 avg(目标字段) ...
- Mybatis-plus:单表使用关联查询+ResultMap结果映射
Mybatis-plus:单表使用关联查询+ResultMap结果映射 一:数据表与实体类 二:mapper与mapper.xml 三:service 四:控制器 五:返回结果 一:数据表与实体类 数 ...
- MySQL中,关联查询的3种写法…
原文地址:MySQL中,关联查询的3种写法(USING/ON) 作者:王小安 看看下面三个关联查询的 SQL 语句有何区别? [sql] view plain copy SELECT * FROM ...
- MyBatis 实现多表查询、resultMap 标签、MyBatis 注解、mybatis运行原理
内容 Auto Mapping 单表实现(别名方式) 实现单表配置 单个对象关联查询(N+1,外连接) 集合对象关联查询 注解开发 MyBatis 运行原理 一.MyBatis 实现多表查询 Myba ...
- elasticsearch多表关联查询_Mybatis【15】 Mybatis如何实现一对一的情况多表关联查询?...
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-11-one2one,需要自取,需要配置maven ...
最新文章
- commander.js
- OSPF全国网络互联实施方案
- 25分钟训练机器人学会6个动作,伯克利开发高效机器人操纵框架
- mysql xtrabackup备份工具使用
- Horizon View 6-客户端连接虚拟桌面⑹
- jQuery UI resizble、draggable的div包含iframe导致缩放和拖拽的不平滑解决方法
- 关于java结构中描述正确的是_下列关于Java中类的构造方法的描述,正确的是()...
- python 主函数 输入
- java反射用法示例_Java包| 类型,用法,示例
- RTX5 | 线程标志组01 - 线程同步
- werkzeug create_environ
- 2013.11.20 流水
- Netflix Media Database - 架构设计和实现
- (源码)群体智能优化算法之引力搜索算法(Gravitational Search Algorithm,GSA)
- 容器技术Docker K8s 31 容器服务ACK基础与进阶-弹性伸缩
- 小岚rabbit_radish(兔仔-萝卜)
- pythoon_interview_redit
- 使用OpenCV训练好的级联分类器识别人脸
- 祝贺|蚂蚁金服技术人许寄入选2018 MIT TR 35全球榜单
- 06-图6. 公路村村通(30)
热门文章
- 【编译原理】关于克林闭包与正闭包的讨论
- java并发 设计模式,Java并发——设计模式
- mysql拷贝恢复.frm_通过.frm .ibd文件恢复MySQL数据
- linux下软件多语言开发,Qt,多语言软件,开发流程【总结】
- 七日存留查询(MYSQL)
- 网站推广期间如何做好用户体验中的交互体验设计?
- 企业网络推广——企业网络有推广专员如何做好基本的网站优化布局
- 如何规划网站设计方案让用户访问更加舒适?
- 移动端、PC端网站优化需齐头并进
- phantomjs 抓取html,javascript – 如何使用PhantomJS获取网站的HTML源代码