报错信息
Caused by: Column 'xxxx' in where clause is ambiguous
原因
在mapper中使用了多表联查,而在Mybatis Plus中使用 LambdaQueryWrapper 就有可能出现这个错误,意思是字段名不明确。
解决
方法一
在mapper中将连接语句当作子查询,然后再使用Mybatis Plus进行条件查询
SELECT * FROM (SELECT grower.*, growertype.NAME AS TypeName, Factory.`Name` AS FactoryName FROM grower LEFT JOIN growertype ON grower.TypeId = growertype.Id LEFT JOIN factory ON grower.FactoryId = factory.Id) AS result ${ew.customSqlSegment}
方法二
使用Mybatis Plus中明确的字段名称 表名.字段名
LambdaQueryWrapper<PersonVO> wrapper = new LambdaQueryWrapper<>(); wrapper.like("grower.name", keyword); List<PersonVO> list = personVOMapper.getPersonVOList(wrapper);
本文作者为小王子,转载请注明。