Mybatis 字符串傳參異常解析
阿新 • • 發佈:2018-05-31
@paramCaused 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
Mybatis 字符串傳參異常解析