Mybatis分页查询主从表的实现示例

 更新时间:2024年09月04日 08:44:32   作者:MyFreeIT  
本文主要介绍了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>

到此这篇关于Mybatis分页查询主从表的实现示例的文章就介绍到这了,更多相关Mybatis分页查询主从表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • java读取word-excel-ppt文件代码

    java读取word-excel-ppt文件代码

    OFFICE文档使用POI控件,PDF可以使用PDFBOX0.7.3控件,完全支持中文,用XPDF也行,不过感觉PDFBOX比较好,而且作者也在更新。水平有限,万望各位指正
    2009-04-04
  • Java实现读取Jar文件属性的方法详解

    Java实现读取Jar文件属性的方法详解

    这篇文章主要为大家详细介绍了如何利用Java语言实现读取Jar文件属性的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-08-08
  • Java使用正则表达式提取XML节点内容的方法示例

    Java使用正则表达式提取XML节点内容的方法示例

    这篇文章主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • Redis + Java拦截器实现用户匿名和非匿名访问

    Redis + Java拦截器实现用户匿名和非匿名访问

    本文主要介绍了Redis + Java拦截器实现用户匿名和非匿名访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • java容器类知识点详细总结

    java容器类知识点详细总结

    这篇文章主要介绍了java容器类知识点详细总结,
    2019-06-06
  • Java合并集合几种常见方式总结(List、Set、Map)

    Java合并集合几种常见方式总结(List、Set、Map)

    这篇文章主要介绍了Java中合并List、Set、Map的多种方法,包括addAll()、Stream.concat()、Stream.of()+flatMap()、List.copyOf()、putAll()、merge()、compute()和StreamAPI等,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • Java多线程编程中的两种常用并发容器讲解

    Java多线程编程中的两种常用并发容器讲解

    这篇文章主要介绍了Java多线程编程中的两种常用并发容器讲解,分别是ConcurrentHashMap与ConcurrentHashMap,需要的朋友可以参考下
    2015-12-12
  • Java扫描文件夹下所有文件名

    Java扫描文件夹下所有文件名

    这篇文章主要为大家详细介绍了Java扫描文件夹下所有文件名,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Mybatis批量修改的操作代码

    Mybatis批量修改的操作代码

    这篇文章主要介绍了Mybatis批量修改的操作代码,包括整体批量修改的详细代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2017-09-09
  • SpringBoot指定激活配置文件的方法

    SpringBoot指定激活配置文件的方法

    Spring Boot 对多环境整合已经有了很好的支持,能够在运行间、打包时自由切换环境,这篇文章主要介绍了SpringBoot指定激活配置文件,需要的朋友可以参考下
    2023-11-11

最新评论