Mybatis 字符串傳參異常解析

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

異常信息如下:
QQ截圖20180531161749.png

QQ截圖20180531172346.png

QQ截圖20180531161544.png

1.在DAO層,CardMapper.java接口裏面 入參加上 @Param("XXX")

QQ截圖20180531172315.png

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章