传入Map集合参数时,报错:Parameter ‘xxx’ not found. Available parameters are [param, param1]
mapper层语句如下:
List<Map<String,Object>> findEntityAll(@Param("param") Map<String, Object> param);
SQL语句如下:
select * from table1 where x1 = #{x1} and x2 = #{x2}
解决方法:
第1种、移除Mapper接口中的 @Param(“param”)
List<Map<String,Object>> findEntityAll(Map<String, Object> param);
第2种、.xml文件中 写成 #{param.xxx}
select * from table1 where x1 = #{param.x1} and x2 = #{param.x2}
详解
说明:该问题出错在mapper层与xml层的参数设置问题
发生场景:mapper层方法传2个参数,默认一个参数可以不需要@Param,但传多个参数必须指定@Param(“别名”)