深入瞭解MyBatis參數

有遇到mapper接口一個參數,有時候報錯情況:There is no getter for property named 'XXX' in 'class java.lang.String,

報錯原因:Mybatis默認採用ONGL解析參數,所以會自動採用對象樹的形式取string.num值,引起報錯

 

解決方法普遍有2種:

1、直接在mapper接口裏面給參數在@Param註解,如:public List methodName(@Param(value="num") String num)的方法說明參數值,註解將參數轉成map

2、在xml中使用_parameter來代替參數名,如: 

<if test="_parameter != '1'.toString() ">
          PARENT_ID = #{_parameter}
   </if>

一般常用方法1

後面又看到一編好博客,值得學習,是源碼深入解析mapper由於篇幅太長,這裏就直接保存地址,方便查看 https://blog.csdn.net/isea533/article/details/44002219

 

 

 

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