Java.sql.Date到Oracle数据库的日期和时间戳

Red*_*ddy 3 sql spring date jdbc

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

现在,当我设置

bean.setStartTime(new Date(System.currentTime()) 
Run Code Online (Sandbox Code Playgroud)

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

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

a_h*_*ame 7

你需要使用 java.sql.Timestamp

 bean.setStartTime(new java.sql.Timestamp(...))
Run Code Online (Sandbox Code Playgroud)

java.sql.Date 删除时间部分

来自Javadocs:

为了符合SQL DATE的定义,java.sql.Date实例包含的毫秒值必须通过在与实例关联的特定时区中将小时,分钟,秒和毫秒设置为零来"标准化". .