Mybatis使用if標籤傳入參數爲String可能遇到的錯誤


說明:java

最近在使用動態SQL中的<if>標籤合併接口和SQL的過程遇到了一些坑,放在這記錄一下app

首先咱們有下面這樣一個mapper接口(根據status變量來選擇不一樣的SQL):cdn


問題:There is no getter for property named 'xxxx' in 'class java.lang.String'xml

緣由:Mybatis默認採用OGNL解析參數,因此會自動採用對象樹的形式取 string.xxx 值,若是對象中沒有方法定義,則會拋異常報錯。對象

解決方案1:在Mapper接口使用@Param註解標記參數名blog


而後能夠這麼寫:接口


解決方案2:把mapper.xml使用的 變量名(如本例的status)修改成 _parameter 便可get


相關文章
相關標籤/搜索