說明: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