问题
使用mybatis的xml映射sql查询时,如果查询结果没有数据,就返回为空,不会生成对象(正常现象是无论查询结果如何,都会返回生成一个对象),如果模糊查询有数据,就会报错,错误:一个查询出现两个结果。
原因
select里全是嵌套select,没有一个字段是最外层的select的。如下
select (select count(*) from user where id like concat(#{name},'%') as users
from user where id like concat(#{name},'%')
解决
删去最外层的from和where即可,也可以暴露一个字段在最外层。