2012-07-25 64 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