2012-10-28 62 views
12

我想將當前日期和時間插入定義爲日期時間類型的列中。如何使用java將當前日期插入到mysql db

我輸入以下代碼:

java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime()); 
PrepStmt.setDate(1, sqlDate); 

當我檢查數據庫,我發現日期正確插入,但時間是:00:00:00。什麼是修復?

+1

什麼是你的MySQL數據庫中的列的數據類型? – doublesharp

+1

@doublesharp。他寫在那裏。它的日期。 –

回答

18

由於您使用datetime作爲字段類型,你需要使用java.sql.Timestamp來存儲您的日期,並PrepareStatement.setTimestamp插入它。

嘗試使用這樣的: -

java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime()); 
PrepStmt.setTimestamp(1, date); 
2

您需要使用的是setTimestamp(int parameterIndex,Timestamp x)方法,而不是setDate()方法。

,您所設置的時間戳將是如下的方式:

Timestamp timestamp = new Timestamp(new Date().getTime()); 

然後,您可以設置參數爲:

PrepStmt.setTimestamp(1, timestamp); 
2

聽起來像是你需要

java.sql.Timestamp 

您使用java.sql.Date僅用於處理日期而不記錄時間的那個。或者,如果您只需要時間,則可以使用java.sql.Time

2

試着用的setTimestamp爲

PrepStmt.setTimestamp(1, sqlDate); 
1
java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime()); 
PrepStmt.setTimestamp(1, date); 

我解決了它使用這個..

相關問題