如何将保存日期和时间的java.util.Date对象插入到mysql数据库中

时间:2014-03-17 07:17:47

标签: java mysql jdbc java.util.date

我使用以下代码在MySQL中插入java.util.Date对象。 d1是我从某个函数获取的日期对象。我尝试将java.util.Date投射到java.sql.Date,但这并不能节省时间部分。

String sql = "INSERT INTO abc " +
              "VALUES" + "('Zara',?)";
pstmt = conn.prepareStatement(sql);
pstmt.setDate(1, d1);
stmt.executeUpdate(sql);

在MySQL中存储日期对象的日期和时间的任何想法?

1 个答案:

答案 0 :(得分:5)

您需要将java.util.Date实例转换为java.sql.Date格式。然后将它与PreparedStatement一起使用。

更改:

pstmt.setDate( 1, d1 );

为:

pstmt.setDate( 1, new java.sql.Date( d1.getTime() );

如果字段属于datetimetimestamp,则必须使用

pstmt.setTimestamp( 1, new java.sql.Timestamp( d1.getTime() );