2012-07-25 66 views
3

我正在使用Spring JDBC模板進行jdbc操作。 由於我使用的是BeanPropertySqlParameterSource,因此使用java.sql.date類型爲bean的START_TIME變量賦值。 Oracle數據庫中,列被提及爲「DATE」類型(而沒有TIMESTAMP類型,即使是db是10.2版)Java.sql.Date到Oracle數據庫日期和時間戳

現在,當我設置

bean.setStartTime(new Date(System.currentTime()) 

它存儲日期和時間戳爲00:00:00

請告訴我我該如何存儲時間戳。

回答

6

您需要使用java.sql.Timestamp

bean.setStartTime(new java.sql.Timestamp(...)) 

java.sql.Date刪除部分時間

From the Javadocs:

爲了與SQL DATE,由Java包裝的毫秒值的定義一致。 sql.Date實例必須通過將小時,分鐘,秒和毫秒設置爲零來「標準化」與實例關聯的特定時區。

0
java.util.Date today = new java.util.Date(); 
java.sql.Date d=new java.sql.Date(today.getTime()); 
+1

感謝您的回答。但是增加一些解釋可能對OP有幫助。 – hivert 2014-03-08 16:16:30