使用mybatis时碰到的错误: 在Mapper接口中使用了@Param(“xxx”)给参数起了别名,并没有解决我的问题。
List<Map<String,Object>> getDataTotal(@Param("permissions") List<String> permissions,@Param("startTime") String startTime,@Param("endTime") String endTime);
报错提示内容:
Parameter 'permissions' not found. Available parameters are [0, 1, 2, param3, param1, param2]
经过一番折腾后发现报错信息中其实已经提示了解决方法,如下图: 提示让通过param1,param2,param3来使用Mapper接口传入的参数,如下图:
<if test=" param1!=null and param1.size()>0">
AND OFFICE.OFFICE_CODE IN <foreach collection="param1" open="(" separator="," close=")" item="officeCode">#{officeCode}</foreach>
</if>
<if test=" param2!=null and param2!='' ">
AND TO_CHAR(SQXX.SQRQ , 'yyyy-mm-dd hh24:mi:ss') >= #{param2}
</if>
<if test=" param3!=null and param3!='' ">
AND TO_CHAR(SQXX.SQRQ , 'yyyy-mm-dd hh24:mi:ss') <= #{param3}
</if>
这样问题就解决了。
|