Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'XXX' in 'class java.lang.String' 解析
异常信息如下:
1.在DAO层,CardMapper.java接口里面 入参加上 @Param("XXX")
2.在cardMapper.xml中 <if test="provCode != null"> 修改为 <if test="_parameter!= null"> ,<if></if>判断里面 AND tc.provCode = #{provCode} 不变;
如果没有<if test=””></if> , 就改为 AND tc.provCode = #{_parameter}
3.Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取 string.xxx 值,如果没在在方法中定义,则会抛异常报错。
关于参数是否参与过滤的写法:
1)、if test中的参数名称不需要加${};
2)、${}和#{}的区别
#{}是占位符,比${}更安全
如果是in查询,一定需要用${},注意构造参数的格式如单引号
参考文献:https://blog.csdn.net/qing_gee/article/details/47122227
转载于:https://blog.51cto.com/825272560/2122545