Mybatis 子查询
子查询:
同表中子查询直接在statement中写,和sql格式一样;
不同表间的子查询通过resultMap来实现:
<resultMap type = "Book" id = "BookAndReader" autoMapping = "true"><id colume = "id" property = "id"/><association property = "reader" javaType = "Reader" autoMapping = "true" select = "queryReaderById" column = "reader_id"><!--select进行子查询声明,其参数为子查询语句ID--><!--column为子查询参数,即从pojo类传过来的#{id}--></association>
</resultMap>
<select id = "queryBookAll" resultMap = "BookAndReader">select * from book where book_number = #{number}
</select>
<select id = "queryReaderById" resultType = "Reader"><!--这里是子查询实体-->select * from reader where reader_id = #{id}
</select>
这里和SQL语句一样,先执行子查询,resuktMap在主查询执行之前就存在了,xml文件读取过程中不执行,全部读取完后在数据库中执行,其中子查询得到结果集reader,执行主查询后将结果集返回至resultMap,将其中的子对象与子查询结果集进行关联,排除对不上的,得到最终结果
Mybatis 子查询相关推荐
- MyBatis子查询
一.父查询BaseChildResultMap: <?xml version="1.0" encoding="UTF-8" ?> <!DOCT ...
- Mybatis一对多分页问题,采用子查询
前言 最近在做一个需求,简单来讲就是有两个表,一个公司表,一个公司类型表,一个公司有多个类型,这是一对多的关系,需要连接查询处理.但在用了公司框架分页的时候,会把整个连接查询结果作为总条数返回,导致分 ...
- mybatis 构造查询和联合子查询问题
1.在关联查询 - 子查询的时候 <resultMap type="Author" id="JiKeAuthorBySelect"> ...
- MyBatis——@Result注解column参数传递——父查询函数的参数传递到子查询
问题描述 假设a方法中传入一个带查询参数x 但是a方法的查询结果中不包含参数x 而子查询里也需要参数x 如何在子查询b中带入参数x /*** 按User表中platform查询User*/@Selec ...
- mybatis 连表查询,子查询 collection,返回 vo
mybatis 查询 1. 连表查询,子查询 collection,返回 vo 1. 连表查询,子查询 collection,返回 vo AppsService.xml 主查询 <resultM ...
- mybatis collection 子查询,嵌套查询,解决分页问题
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...
- MyBatis复杂mapper,根据条件数组中的数据进一步判断、从子查询中进一步筛选数据
MyBatis复杂mapper,根据条件数组中的数据进一步判断.从子查询中进一步筛选数据 需要从子查询中进一步获取数据,数组中的数据进一步判断 <select id="queryByP ...
- mybatis 一对多关系映射 select子查询 只有一条数据 解决方案
一般一对多 多的那个会是联合主键 所以要这么设置 <resultMap id="CfdMap" type="com.sxq.cloud.entity.ZhyyB2C ...
- 说说 MySQL 子查询
前言 前两天开发找DBA解决一个含有子查询的慢sql,我们通过将其修改为关联查询和添加索引解决.考虑到 大多数开发并没有准确的理解 MySQL 的子查询执行原理.本文介绍如何解决子查询慢查的思路. 原 ...
最新文章
- STM32-USART控制led和蜂鸣器
- 二分图模板(女生赛要用)
- python访问服务器注册表,如何在Python中使用写入权限打开Windows注册表
- html简单的图片切换js,一分钟让你学会如何使用js切换图片
- 关于memcpy和memmove两函数的区别
- 【Linux】使用ZStack私有云创建本地Linux服务器
- ubuntu14.04使用MySQL数据库安装配置Hive 1.2.1
- select2多选框无法手动排序问题[转载]
- [置顶] Eclipse显示中文 在线安装教程
- 8g内存一般占用多少_手机6G和8G运存有什么不同,8G运存真比6G流畅?这也要考虑处理器...
- 找出两个矩阵不同的元素_推荐系统传统推荐模型之矩阵分解
- 博士申请 | 澳大利亚麦考瑞大学吴佳教授招收图挖掘方向全奖博士生
- FlashFXP上传下载
- NDK交叉编译qemu报错:undefined symbol: memfd_create
- 多元回归函数regress的用法
- android微信登录用户绑定,微信授权登陆接入第三方App(步骤总结)Android
- 程序员的半衰期只有15年
- MAC笔记本安装python3遇到的坑和解法
- JMP功能与算法总结
- SOA成功案例—中远集运全球EDI平台建设
热门文章
- ava入门篇——如何编写一个简单的Java程序
- The requested URL was not found on the server. If you entered the URL manually please check your spe
- 域名注册需要云服务器吗,说明申请域名的方法步骤有哪些?域名注册需要云服务器吗?...
- 有监督、半监督、无监督、弱监督、自监督
- 设计模式的原则和常用的模式
- Part6:客户端和服务端信息交互模型
- 笔记本电脑插上电源合盖子不睡眠不锁屏只是关闭了屏幕
- 为什么修改jsp不用重启tomcat,而修改servlet要重启tomcat
- Dicom 图像--像素值(灰度值)转为CT值
- 用ubuntu的使用习惯使用windows (by quqi99)