pageHelper多表的分页查询。IO开销太大

之前通过pagehelper写单表的分页查询写的很开心。现在要写一个夺标(就比如2张表把)
如果自己写sql语句,就不能用 Criteria 东西了,如果先查询主表,在查询另一张附表(用collection也一样),连接数据库又会很频繁,有什么好的解决思路码?因为本来自己写sql语句关联查询至访问一次数据库。先查主表,在查附表分页为10就会访问10次,分页为20就会访问20次了

阅读 6.4k
1 个回答

根据你的问题的话,解决方式:

  1. Mybatis PageHelper支持夺标查询,完全可以直接使用
  2. 如果题主又想单表查询,又想一次查询的话,不妨这样试一下:

    1. 查询第一张主表获取主表数据,并将主表id筛选出来留作备用。
    2. 查询第二张表,通过Criteria条件将主表id通过条件添加进去。
    3. 通过java自身业务逻辑将两个表中的数据连接到一个Bo类中。
值得注意的地方
由于Mybatis中的存储数据集合是一TheadLocal进行存储的,注意startPage方法和获取PageList位置,不然有可能获取到错误的数据集合
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题