在用mybatis向MySQL數據庫中插入時間時報錯:Incorrect datetime value: '' for column '' at row 1


問題說明:使用的MySQL是5.1.37版本,用的mysql-connector-java-5.0.4.jar版本,在java文件中定義的字段是Date類型,MySQL中定義的字段類型是datetime類型的,

嘗試了以下方式都不成功,報的錯誤還是一個,方法如下:

1.第一個方法:

//  Date date = new Date();
//  shop.setLastEditTime(date);

2.第二個方法:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Timestamp ts = new Timestamp(System.currentTimeMillis());
  String strDate = sdf.format(ts);
  shop.setLastEditTime(Timestamp.valueOf(strDate));

后來百度查貼吧,說有可能是jar包版本沖突問題,但是原來代碼時可以運行的,而此處不能運行,就嘗試了把自己引入的包mysql-connector-java-5.0.4.jar換成高版本的,問題成功解決。

后來又嘗試了從哪個版本開始有問題的,原來是mysql-connector-java-5.0.5.jar開始后面的幾個版本都好使。

換成高版本的幾個jar包后,以上的兩個方法都可以使用。

具體的原因不知道MySQL進行了什么優化,只是知道了解決的辦法,有知道的歡迎來說下原因


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM