背景
查询的日期(年月日 时分秒)显示在界面上,总是不正确,出现以下两种情况:
- 界面显示:年月日T00:00:00
- 界面显示:年月日T20:08:00
情况一
<sqlMap namespace="Info" >
<resultMap id="Info" class="pojo.Info" >
<result column="INFO_BEGINTIME" property="begin" jdbcType="DATE" />
<result column="INFO_ENDTIME" property="end" jdbcType="DATE" />
</resultMap>
</sqlMap>
解决办法:
如果你想在pojo中使用java.util.Date, 则要注意:
- 完整的日期时间,要确保jdbcType为空,或为DATE,TIME以外的值
- 只需要时间,要指定jdbcType=”TIME”
- 只需要日期,要指定jdbcType=”DATE”
修改后:
<sqlMap namespace="Info" >
<resultMap id="Info" class="pojo.Info" >
<result column="INFO_BEGINTIME" property="begin" jdbcType="" />
<result column="INFO_ENDTIME" property="end" jdbcType="" />
</resultMap>
</sqlMap>
情况二
界面显示数据的时候遇到一个日期里面带T的问题,就是天数跟小时数之间出现了一个T。
表字段里面也没有这个T,后来查询度娘,是因为json处理的时候没有格式化。
解决办法:
只需要在POJO实体类的日期属性的get方法上格式化即可:
@JSON(format="yyyy-MM-dd HH:mm:ss")//加上这句处理页面显示时带T的问题。
public java.util.Date getOlOperationDate() {
return olOperationDate;
}