java与mysql时间类型介绍
mysql:
YEAR: 'YYYY'
DATE:'YYYY-MM-DD'
TIME: 'HH:MM:SS'
DATETIME: 'YYYY-MM-DD HH:MM:SS'
java:
java.util.Date
案例:
mysql建表:
datetime
实体类:
Date time;
hibernate映射配置:
<property name="time" type="timestamp">
<column name="time" length="19" />
</property>
<column name="time" length="19" />
</property>
如果没有对日期时间对象类进行json日期格式声明,会出现类似"2013-06-18T12:08:56.23"日期,在日期中间多出一个T字母;
从通过查询数据,以及调试程序发现直到返回之前日期时间的格式都是正确的,没有T的情况,那问题就是出现在返回JSON后了。
只有在添加了jsonp返回类型后出现这样的问题;
添加返回类型:
<result name="success" type="json"> <param name="root">dataMap</param> <param name="callbackParameter">jsoncallback</param> </result>
解决办法:在实体中get方法的上方进行json格式声明:
@JSON(format="yyyy-MM-dd HH:mm:ss")
public java.util.Date getCreateDate() {
return createDate;
}