Mybatis啓動報錯: No typehandler found for property xxxx 的另一種可能(由CLOB類型導致的問題)

背景:

搭了一個demo項目啓動的時候Mybatis報錯

錯誤信息:

Caused by: java.lang.IllegalStateException: No typehandler found for property xxx

排查過程:

在網上找資料,基本上清一色說是列字段名和數據庫字段名沒對上,所以首先檢查下xml文件中的列名和數據庫表的字段名是不是一一對應得上。如果你的問題是這個原因的話,那可以不用往下看。

由於我的代碼是直接生成的,所以不存在粗心寫錯列名的情況,有的文件報錯,有的文件不報錯,反覆觀察出錯的文件,發現出錯的文件都有一個共同的特點:這個xxx變量的類型是Clob。錯誤信息也說到了類型處理的問題,所以懷疑是Clob這個特殊的數據類型導致的。

解決辦法:

把bean類中的clob變量的類型改爲String類型(不用擔心String不夠用,能存4個G),再啓動,沒有報錯,問題解決。

具體就是把java.lang.IllegalStateException: No typehandler found for property xxx 這句錯誤信息中的xxx變量的數據類型從Clob改爲String。


另外還有一種解決辦法是自己定義一個typeHandler,暫時沒時間研究,也提一下吧,有時間再補充。


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