Failed to convert from type java.lang.String to type java.util.Date for value………解決辦法
一、問題描述
在用SpringMVC整合mybatis的時候,在controller中呼叫service進行儲存資料的操作,遇到了Failed to convert from type java.lang.String to type java.util.Date for value………這個錯誤,然後發現數據庫有個欄位在Entity中的型別是Date的,然後表單傳過來的資料時String型別的,這時就會出現這樣的問題,型別轉換錯誤!
二、解決辦法
要加一個@InitBinder,查了一下資料,貌似是用於初始化資料的時候,進行資料型別轉換,吧String型別轉為Date型別,這樣就不會報錯了。
@InitBinder
public void initBinder(WebDataBinder binder) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(true);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
這樣問題就解決了,這個要加在相關的Controller裡面,然後利用註解自動裝配就OK了。。。。