問題說明:使用的MySQL是5.1.37版本,用的mysql-connector-java-5.0.4.jar版本,在java文件中定義的欄位是Date類型,MySQL中定義的欄位類型是datetime類型的, 嘗試了以下方式都不成功,報的錯誤還是一個,方法如下: 1.第一個方法: // Date ...
問題說明:使用的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進行了什麼優化,只是知道瞭解決的辦法,有知道的歡迎來說下原因