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 -
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,,不是你主表的分页条数的