一、表字段为date类型时,实体类类型、mybatis、yml文件的标配
1.创建表
CREATE TABLE `payment` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`serial` varchar(200) DEFAULT NULL COMMENT '流水',
`createTime` date DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='支付表';
2.mybatis的配置信息
<result column="createTime" property="createTime" jdbcType="DATE"/>
3.yml的配置信息
String:
jackson:
date-format: yyyy-MM-dd
time-zone: GMT+8
4.实体类字段
private Date createTime;
5.controller层转换日期
String createTime = "2023-01-01";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = format.parse(createTime);
} catch (ParseException e) {
e.printStackTrace();
}
二、表字段为datetime类型时,实体类类型、mybatis、yml文件的标配
1.创建表
CREATE TABLE `payment` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`serial` varchar(200) DEFAULT NULL COMMENT '流水',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='支付表';
2.mybatis的配置信息
<result column="createTime" property="createTime" jdbcType="TIMESTAMP"/>
3.yml的配置信息
String:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
4.实体类字段
private Timestamp createTime;
5.controller层转换日期
String createTime = "2023-01-01 12:12:12";
Timestamp.valueOf(createTime);
三、类型对照表