mysql的字段類型是timestamp(0), java的類型的是util.Date, 在插入數據的時候發現, 數據庫的實際數據秒數比預想的數據偶爾會大1秒.
問題的原因:
mysql的timestamp(0), 沒有保留毫秒, 插入的時候, mysql會計算毫秒數, 所以會偶發數據庫的秒數比參數大1秒.
解決方案:
1: timestamp(0) 改為 timestamp(3), 保留3位的毫秒數
2: 參數的毫秒值設置為0
3: 修改數據庫的字段類型, 存儲時間戳 或者 用字符串存儲,
4: 降低mysql版本或者降低驅動版本(這種辦法會把所有的毫秒數都忽略(000), 如果是時間精度要求高的業務就涼涼了, 不太推薦. mysql暫時還不能只設置成一個表一個字段忽略毫秒數)