Mybatis-plus,多表分页查询 求解

select a.* from  a
        left join  b
        on a.id = b.company_id
            ${ew.customSqlSegment}

我只想要a表的信息,但是要做一个根据b表的企业名name字段进行查询的功能

还要进行分页,所以我用了IPage和QueryWrapper。

检查确认语法上都没问题,有报错是 似乎执行分页时会进行一个查询总数的sql,
ERROR o.jeecg.common.exception.JeecgBootExceptionHandler:57 -

Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'name' in 'where clause'

SELECT COUNT(*) FROM a WHERE ((name LIKE ?))

而a表时没有name这个字段的。

请问这种情况该怎么解决?jeecgboot平台导出的代码

你查询结果返回接收实体是哪个,里面没有name变量吧

那你就要做连表查询,你的连接属性是id,那就根据b表的name通过id到a表,查出a表的全部数据
那sql就应该是 SELECT a表信息 FROM a,b WHERE a.id=b.id and((name LIKE ?)) 这样查询出a表的信息,然后再进行分页

先根据a表进行一个分页查询,查询出来的数据如果要根据b表存在映射查询关系,再循环进行查询就行了

mybatis-plus不知道,mybatis直接集成pageHelper写一条join sql的写法是不行的,,,myabtis底层机制执行分页的话是只会执行分页条sql,,不是你主表的分页条数的