问题现象
使用JDBC往MySQL写入数据,写入后,时分秒丢失,只有日期。
java代码:
ps.setDate(colIndex, new Date(new java.util.Date().getTime()));
数据库数据:
2021-03-22 00:00:00
解决方法
使用Timestamp写入
ps.setTimestamp(colIndex, new Timestamp(new java.util.Date().getTime()));
原因
JDBC的setDate()只有年月日,不带时分秒,写入数据库之后时分秒全为0。而setTimestamp()能携带时分秒信息,所以要用setTimestamp()写入。