Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'XXX' in 'class java.lang.String'  解析

异常信息如下:
Mybatis 字符串传参异常解析_第1张图片

Mybatis 字符串传参异常解析_第2张图片

Mybatis 字符串传参异常解析_第3张图片

1.在DAO层,CardMapper.java接口里面 入参加上 @Param("XXX")

Mybatis 字符串传参异常解析_第4张图片

2.在cardMapper.xml中 修改为 判断里面 AND tc.provCode = #{provCode} 不变;

如果没有 , 就改为 AND tc.provCode = #{_parameter}

3.Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取 string.xxx 值,如果没在在方法中定义,则会抛异常报错。

关于参数是否参与过滤的写法:
1)、if test中的参数名称不需要加${};
2)、${}和#{}的区别
      #{}是占位符,比${}更安全
      如果是in查询,一定需要用${},注意构造参数的格式如单引号


参考文献:https://blog.csdn.net/qing_gee/article/details/47122227