当前位置: 首页 > news >正文

Mybatis分页查询主从表

 先主查询,再关联子查询,不影响分页效果,否则子查询也会参与分页。

    <resultMap id="Hdr" type="com.Hdr"><id column="crh_id" property="id" javaType="int"/><collection property="DtlList" select="queryAllRmdDetail" column="crh_id" fetchType="eager"></collection></resultMap>
    <resultMap id="Dtl" type="com.Dtl"></resultMap>   

主查询: 

 <select id="queryByCondition"  parameterType="String" resultMap="Hdr"></select>

在主查询后,通过传入主键id进行关联子查询:

    <select id="queryAllDetail" parameterType="int" resultMap="Dtl">SELECT * FROM biz_dtl WHERE crh_id = #{id}</select>

主查询的结果是List,以及每一条记录的内涵List,性能是N+1次查询。

如果提高查询性能,可以使用别名的方式,在SQL中把子查询进行重新命名。

不过如果主查询包括SUM和Group语句,这种方式就不可以。

只有在平铺所有主从表的时候可用。

<resultMap id="blogResult" type="Blog"><id property="id" column="blog_id" /><result property="title" column="blog_title"/><collection property="posts" ofType="Post" resultMap="blogPostResult" columnPrefix="post_"/>
</resultMap><resultMap id="blogPostResult" type="Post"><id property="id" column="id"/><result property="subject" column="subject"/><result property="body" column="body"/>
</resultMap>


http://www.mrgr.cn/news/18949.html

相关文章:

  • 国内怎么进行海外直播?需要什么工具?
  • 快专利与慢专利:速度与质量的天平
  • 文心一言 VS 讯飞星火 VS chatgpt (339)-- 算法导论23.1 8题
  • Spring Cloud Gateway整合基于STOMP协议的WebSocket实战及遇到问题解决
  • JavaScript网页设计案例
  • 使用vscode debug cpp/python混合编程的程序(从python调用的C++编译的dll)
  • 深度学习(六)-循环神经网络
  • 【微信小程序入门】3、微信小程序开发基础及微信开发者工具的使用
  • python读取excel数据详细讲解
  • ListBox等控件的SelectedItem,SelectedValue,SelectedValuePath属性详解
  • pr瘦脸怎么操作?
  • CSS学习10
  • 内存卡乱码问题解析恢复方案
  • 渠道招商有哪些工作内容?可以通过什么途径获客!
  • Allure报告下载不同格式的文件
  • redis缓存和数据库通过延迟双删除实现数据一致性
  • 基于Bert-base-chinese训练多分类文本模型(代码详解)
  • 为什么说2025年是国自然申请最佳时机?
  • Centos根目录扩容Docker分区扩容最佳实践
  • MySQL备份与恢复