MyBatis关联查询分页

本文探讨了在MySQL中实现多表关联查询时的分页策略,包括子查询分页及利用select标签进行n+1查询的方法,并讨论了这些方法在使用MyBatis分页插件时遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  背景:单表好说,假如是MySQL的话,直接limit就行了。

  对于多对多或者一对多的情况,假如分页的对象不是所有结果集,而是对一边分页,那么可以采用子查询分页,再与另外一张表关联查询,比如:

select * from (select * from teacher t limit 0, 2) tt left join clazz ttt on tt.id = ttt.teacher_id;

先对teacher分页,再关联查询。但是这样一来就不太好用mybatis的分页插件统一分页,并且需要自己去写一条count语句(插件虽然也执行了count语句,但是不需要我们去手动写一条),不太方便。不知道有没有什么好的方式解决。PageHelper对单表分页倒是比较犀利,像这种情形就不太好处理。

  还有一种性能比较低,但是比较简单的方式就是利用select标签,进行n+1查询。

2010年全球30m分辨率陆表水域数据GlobeLand30_WTR2010)是中国捐赠给联合国(2014年9月)的全球30m分辨率土地覆盖数据(2010)中十个数据之一。陆表水域是地表覆盖的重要组成部分。该数据依托全球地表覆盖遥感制图项目,根据全球优选(无云或少云)的2010年及前后1-2年间9907景30m空间分辨率的美国陆地资源卫星(Landsat)TM5、ETM 多光谱影像数据及2640景中国环境减灾卫星(HJ-1)多光谱影像数据。在数据预处理基础上,利用基于像元的水域综合提取、面向对象的图斑处理和人机交互的数据优化等遥感提取方法,兼顾陆表水域遥感提取的高效性和准确性,形成了2010年全球30m分辨率陆表水域数据GlobeLand30_WTR2010)。该数据经过部分地区的抽样检验。数据采用分幅方式组织数据文件,总计759个数据文件组,每个文件组包括3类数据文件,分别为以.Tif, .tfw格式存储的实体数据、以.shp格式存储的数据开发应用的遥感影像数据信息和以.xml格式存储的元数据信息。为便利获取和网络共享,实体数据被分为5个压缩数据文件包(.rar数据格式)。其中,GlobeLand30_WTR2010_1.rar是欧洲和亚洲72?E以西的地表水域数据文件包;GlobeLand30_WTR2010_2.rar是亚洲72?E以东的地表水域数据文件包;GlobeLand30_WTR2010_3.rar是北美洲50?以北的地表水域数据文件包;GlobeLand30_WTR2010_4.rar是北美洲50?以南和南美洲的地表水域数据文件包;GlobeLand30_WTR2010_5.rar是非洲和大洋洲的地表水域数据文件包。此外,数据中包括一个附录数据说明文件(GlobeLand30_WTR2010.xlsx)。数据表明,2010年全球陆表水域总面积为367.54万km2。全球陆表水域的空间分布不均匀。其中,北美洲占据全球地表水域面积40%以上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值