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

cks*_*cks 0 java mysql jdbc java.util.date

我使用以下代码java.util.Date在MySQL中插入一个对象.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);
Run Code Online (Sandbox Code Playgroud)

有什么想法在MySQL中存储Date对象的日期和时间吗?

Rav*_*ddy 5

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

更改:

pstmt.setDate( 1, d1 );
Run Code Online (Sandbox Code Playgroud)

至:

pstmt.setDate( 1, new java.sql.Date( d1.getTime() );
Run Code Online (Sandbox Code Playgroud)

如果字段是类型datetimetimestamp,您必须使用

pstmt.setTimestamp( 1, new java.sql.Timestamp( d1.getTime() );
Run Code Online (Sandbox Code Playgroud)