1. 程式人生 > >Mybatis 字符串傳參異常解析

Mybatis 字符串傳參異常解析

@param

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

Mybatis 字符串傳參異常解析