Parameter ‘xxx‘ not found. Available parameters are [param, param1]

传入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(“别名”)

猜你喜欢

转载自blog.csdn.net/qq_39236283/article/details/126384295
今日推荐