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服务刚启动时接口超时排查全过程

    Java服务刚启动时接口超时排查全过程

    这篇文章主要为大家介绍了Java服务刚启动时,一小波接口超时排查全过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • SpringBoot2.1.4中的错误处理机制

    SpringBoot2.1.4中的错误处理机制

    这篇文章主要介绍了SpringBoot2.1.4中的错误处理机制,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • spring boot实现过滤器和拦截器demo

    spring boot实现过滤器和拦截器demo

    本篇文章主要介绍了spring boot实现过滤器和拦截器demo ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • java动态代理和cglib动态代理示例分享

    java动态代理和cglib动态代理示例分享

    这篇文章主要介绍了java动态代理和cglib动态代理示例,JDK1.3之后,Java提供了动态代理的技术,允许开发者在运行期间创建接口的代理实例,下面我们使用示例学习一下
    2014-03-03
  • Mybatis中一对多(collection)和一对一(association)的组合查询使用

    Mybatis中一对多(collection)和一对一(association)的组合查询使用

    这篇文章主要介绍了Mybatis中一对多(collection)和一对一(association)的组合查询使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Mybatis mysql模糊查询方式(CONCAT多个字段)及bug

    Mybatis mysql模糊查询方式(CONCAT多个字段)及bug

    这篇文章主要介绍了Mybatis mysql模糊查询方式(CONCAT多个字段)及bug,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • SpringBoot JPA sort多属性排序实例

    SpringBoot JPA sort多属性排序实例

    这篇文章主要介绍了SpringBoot JPA sort多属性排序实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 深度解析Java中的ReentrantLock原理

    深度解析Java中的ReentrantLock原理

    这篇文章主要介绍了关于ReentrantLock的原理解析,文章通过代码示例介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-07-07
  • JAVA后端学习精华之网络通信项目进阶

    JAVA后端学习精华之网络通信项目进阶

    不同项目之间的通信方式分为,http、socket、webservice;其中socket通信的效率最高,youtube就采用的是原始的socket通信,他们信奉的原则是简单有效
    2021-09-09
  • java 查找替换pdf中的指定文本

    java 查找替换pdf中的指定文本

    这篇文章主要介绍了java 如何查找替换pdf中的指定文本,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-12-12

最新评论