mybatis爆出constructor和getter異常的解決方法:

MyBatisSystemException:No constructor found Bean/POJO

mybatis框架使用無參構造器後使用setter將數據庫返回的數據壓入bean中,所以這個原因一般都是因爲沒有無參構造器,加上無參就可以解決了。

MybatisException:There is no getter for property named 'XXX' in

如果XXX是 字段名,很簡單,一般都是大小寫錯誤或者拼寫錯誤,直接從bean中拷貝一份替換就可以了。

當然不排除確實沒有getter的情況。(一般細心點都沒這個問題)

今天我遇到的則更神奇一些,XXX竟然是我傳入的model的類名:person。其實不難。

因爲我們在xml裏面使用了諸如:

<if test="person.id != null">    //報錯:No getter of person,注意是首字母小寫,我們的類名是Person
    body
</test>

那麼問題也很好解決,

public updatePersonById(Person person);

//改成
public updatePersonById(@Param("person") Person person);

//這個“person”是由你的mapper中使用的名稱決定。

 

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