在使用了mybatis-plus
之后, 自定义SQL的同时也想使用Wrapper
的便利应该怎么办? 在mybatis-plus
版本3.0.7
得到了完美解决 版本需要大于或等于3.0.7
, MyBatis-Plus官网给了以下两种方案:
官网链接: https://mybatis.plus/guide/wrapper.html#%E4%BD%BF%E7%94%A8-wrapper-%E8%87%AA%E5%AE%9A%E4%B9%89sql
上述官网介绍的查询为单表查询 下面具体介绍多表查询使用自定义sql ${ew.customSqlSegment}入的坑
多表查询使用自定义sql ${ew.customSqlSegment}:
上面例子是我刚开始用官网方式来坐的多表关联查询,如果是没有查询条件,是正确的,并且分页也是可以做到的
但是如果有查询条件,那就是报错但是很遗憾 ,报错:
很无奈,报错原因也很明显,该字段不知道是查询那张表的,因为两张表都有这个字段,并且页面要求根据该字段来查询的,所以这块必须需要改字段来查询,但是这种查询方式行不通,(除非多张表的重复字段不作为查询条件才能用官网的做法)这边排查了很多原因 ,也没法解决 ,我想这是MyBatis-Plus的一个Bug,最终选择了使用MyBatis原生的映射写法:
如果有人知道这个问题怎么解决,烦请各位大神告知我一声,欢迎留言评论,谢谢!