往数据库里存入时间问题
我使用的是sql server2008
做的是一个实验课程预约系统,当学生提交预约请求,就用new Date()得到当前时间,然后存到数据库中的 预约时间statusTime字段中,字段类型为datetime
因为new Date()为java.util.Date 所以存数据数据库要转换成java.sql.Date
java.sql.Date d = new java.sql.Date(这里从请求对象中,拿到时间,然后getTime())
这样存到数据库中。
问题是,数据库中日期都有,但是时间都变成0了。没有时间。
谢谢。
------解决方案--------------------在保存日期时,当把Hibernate 类型为date或者java.util.Date时, 插进数据库的数据有时就只有年月日 没有时分秒了只能保存年,月,日,不能保存时分秒的问题,下面是处理的方法:
1.在hibernate时面是这样的:
<hibernate-mapping package="com.lovo.po" >
<class name="Po" table="t_po">
<id name="id" type="integer">
<column name="t_id" />
<generator class="native" />
</id>
<property name="date" type="timestamp"><!--注意这里是timestamp-->
<column name="t_date"/>
</property>
</class>
</hibernate-mapping>
2.在sqlserver里字段为datetime
3.我们通过new Date()就可以保存(年月日,时分秒)了.---注意new Date()是java.util下面的.
------解决方案--------------------datetime 对应的是 java.sql.Timestamp
对应的jdbc方法是 getTimestamp()和setTimestamp()
timestamp可以用date.getTime()来做