【前情】
本人代码小白,本意记录自省,如有谬误请指出QAQ望轻喷
这个查询分页方法涉及跨库查询,我要查channel库channel表里存的数据,但所有数据源于base库base表。
另外channel表只存储了base表的标识id字段,前端要展示的大部分字段在base表里,但部分channel表特有的字段也要展示。
而且,共有4个查询条件,2个是base表特有的,2个是channel表特有的。
找错过程可以不看,原因总结在最底下
这个逻辑我觉得有一些复杂,冥思苦想之后决定:中间有个倒手的过程,把标识id都查出来,再跨库把需要的两表字段一起拿出来(sql:……from channel.channel as channel join base.base.as base on base.baseId = channel.baseId where ……)
serviceImpl
那么这个定义装标识id的集合和最终查询结果的集合
@Override
public PageDTO<Channel> queryChannelByPage(Channel channel) {
channel.init();//此处为自己写的方法 初始化分页pageNum和pageSize 默认值
PageHelper.startPage(channel.getPageNum(),channel.getPageSize());
//业务查询
List<Integer> ids = null; //存放初次查询到的brandId
List<Channel> list = new