3

我正在使用 Spring JDBC 模板进行 jdbc 操作。由于我使用的是 BeanPropertySqlParameterSource,因此 bean 的 START_TIME 变量被分配了 java.sql.date 类型。在 Oracle db 中,该列被称为“DATE”类型(并且没有 TIMESTAMP 类型,即使 db 是 10.2 版本)

现在当我设置

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

它存储日期和时间戳为 00:00:00

请告诉我如何存储时间戳。

4

2 回答 2

7

你需要使用java.sql.Timestamp

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

java.sql.Date删除时间部分

来自 Javadocs:

为了符合 SQL DATE 的定义,由 java.sql.Date 实例包装的毫秒值必须通过在实例关联的特定时区中将小时、分钟、秒和毫秒设置为零来“规范化” .

于 2012-07-25T10:04:32.600 回答
0
java.util.Date today = new java.util.Date();
java.sql.Date d=new java.sql.Date(today.getTime());
于 2014-03-07T13:32:21.470 回答