mysql数据库中的date类型不显示分秒(原创)

遇到的问题:

mysql数据库设置时间为DATE类型,hibernate反向工程得到的实体类也是Date类型,但是,newDate()插进去的数据在数据库是:2011-09-29这种格式我想要的是2011-09-29 11:27:26这种格式。

办法:

将数据字段改为TimeStamp类型,重新反向工程(影响到hbm.xml(TimeStamp)和java类(Date))赋值仍然使用new Date() set进去,到数据库就是:2011-09-29 11:27:26

提取的时候,如果单纯使用<s:property value="transferDate"/>那么显示为:2011-09-29 11:27:26 000如何去掉000呢?使用struts2的标签:<s:date name="transferDate" format="yyyy-MM-dd HH:mm:ss"/>

注意:是<s:date name="transferDate" format="yyyy-MM-dd HH:mm:ss"/>如果写作:yyyy-MM-dd hh:mm:ss,那么下午一点就是01:00了

总结:

mysql数据库中不要设置布尔字段,否则你会很麻烦。应将其设置为varchar(1),使用hibernate的反向工程后是string类型的。用0、1标识。

mysql数据库中不要设置date字段,因为反向工程得到的实体类也是Date类型(length为19),newDate()(注:java.util.Date)进去的是2011-09-29

如果想显示分秒,使用TimeStamp字段,反向工程得到的实体类也是Date类型(length为11),newDate()进去的是2011-09-2911:27:26

相关推荐