子查询:

同表中子查询直接在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 子查询相关推荐

  1. MyBatis子查询

    一.父查询BaseChildResultMap: <?xml version="1.0" encoding="UTF-8" ?> <!DOCT ...

  2. Mybatis一对多分页问题,采用子查询

    前言 最近在做一个需求,简单来讲就是有两个表,一个公司表,一个公司类型表,一个公司有多个类型,这是一对多的关系,需要连接查询处理.但在用了公司框架分页的时候,会把整个连接查询结果作为总条数返回,导致分 ...

  3. mybatis 构造查询和联合子查询问题

    1.在关联查询 - 子查询的时候 <resultMap type="Author" id="JiKeAuthorBySelect">         ...

  4. MyBatis——@Result注解column参数传递——父查询函数的参数传递到子查询

    问题描述 假设a方法中传入一个带查询参数x 但是a方法的查询结果中不包含参数x 而子查询里也需要参数x 如何在子查询b中带入参数x /*** 按User表中platform查询User*/@Selec ...

  5. mybatis 连表查询,子查询 collection,返回 vo

    mybatis 查询 1. 连表查询,子查询 collection,返回 vo 1. 连表查询,子查询 collection,返回 vo AppsService.xml 主查询 <resultM ...

  6. mybatis collection 子查询,嵌套查询,解决分页问题

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...

  7. MyBatis复杂mapper,根据条件数组中的数据进一步判断、从子查询中进一步筛选数据

    MyBatis复杂mapper,根据条件数组中的数据进一步判断.从子查询中进一步筛选数据 需要从子查询中进一步获取数据,数组中的数据进一步判断 <select id="queryByP ...

  8. mybatis 一对多关系映射 select子查询 只有一条数据 解决方案

    一般一对多 多的那个会是联合主键 所以要这么设置 <resultMap id="CfdMap" type="com.sxq.cloud.entity.ZhyyB2C ...

  9. 说说 MySQL 子查询

    前言 前两天开发找DBA解决一个含有子查询的慢sql,我们通过将其修改为关联查询和添加索引解决.考虑到 大多数开发并没有准确的理解 MySQL 的子查询执行原理.本文介绍如何解决子查询慢查的思路. 原 ...

最新文章

  1. STM32-USART控制led和蜂鸣器
  2. 二分图模板(女生赛要用)
  3. python访问服务器注册表,如何在Python中使用写入权限打开Windows注册表
  4. html简单的图片切换js,一分钟让你学会如何使用js切换图片
  5. 关于memcpy和memmove两函数的区别
  6. 【Linux】使用ZStack私有云创建本地Linux服务器
  7. ubuntu14.04使用MySQL数据库安装配置Hive 1.2.1
  8. select2多选框无法手动排序问题[转载]
  9. [置顶] Eclipse显示中文 在线安装教程
  10. 8g内存一般占用多少_手机6G和8G运存有什么不同,8G运存真比6G流畅?这也要考虑处理器...
  11. 找出两个矩阵不同的元素_推荐系统传统推荐模型之矩阵分解
  12. 博士申请 | 澳大利亚麦考瑞大学吴佳教授招收图挖掘方向全奖博士生
  13. FlashFXP上传下载
  14. NDK交叉编译qemu报错:undefined symbol: memfd_create
  15. 多元回归函数regress的用法
  16. android微信登录用户绑定,微信授权登陆接入第三方App(步骤总结)Android
  17. 程序员的半衰期只有15年
  18. MAC笔记本安装python3遇到的坑和解法
  19. JMP功能与算法总结
  20. SOA成功案例—中远集运全球EDI平台建设

热门文章

  1. ava入门篇——如何编写一个简单的Java程序
  2. The requested URL was not found on the server. If you entered the URL manually please check your spe
  3. 域名注册需要云服务器吗,说明申请域名的方法步骤有哪些?域名注册需要云服务器吗?...
  4. 有监督、半监督、无监督、弱监督、自监督
  5. 设计模式的原则和常用的模式
  6. Part6:客户端和服务端信息交互模型
  7. 笔记本电脑插上电源合盖子不睡眠不锁屏只是关闭了屏幕
  8. 为什么修改jsp不用重启tomcat,而修改servlet要重启tomcat
  9. Dicom 图像--像素值(灰度值)转为CT值
  10. 用ubuntu的使用习惯使用windows (by quqi99)