在学习java 的过程中遇到 mybatis 读取数据库数据 到model中 转换成json,时间问题。
数据库存储格式为: 年-月-日 时:分:秒
解决方案:
数据库存储格式为: 年-月-日 时:分:秒
读取到modle中格式为:2017-06-12
LargeTypeMapper.xml 配置如下 (网上说 加上 jdbcType="TIMESTAMP" 结果加上还是不行 ,修改 <mvc:annotation-driven> 配置也不能解决。)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.myspring.mybatisDemo.mapper.JobMapper">
<select id="getAll" resultMap="jobModel">
select * from jobtype_info LIMIT 1
</select>
<resultMap id="jobModel" type="com.myspring.mybatisDemo.model.JobModel" >
<result property="createdate" column="createdate" jdbcType="TIMESTAMP" />
</resultMap>
</mapper>
Model中代码如下:
package com.myspring.mybatisDemo.model;
import java.sql.Date;
public class JobModel {
private Date createdate;
public Date getCreatedate() {
return createdate;
}
public void setCreatedate(Date createdate) {
this.createdate = createdate;
}
}
解决方案:
将 JobModel 中导包改为:import java.util.Date
添加 @JsonFormat
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
package com.myspring.mybatisDemo.model;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
public class JobtypeInfoModel {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createdate;
public Date getCreatedate() {
return createdate;
}
public void setCreatedate(Date createdate) {
this.createdate = createdate;
}
}
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和联系
请跳转 : 点击打开链接