如何处理MyBatis中数据库Date类型与Java Date类型之间的映射问题?

2026-04-30 06:582阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计430个文字,预计阅读时间需要2分钟。

如何处理MyBatis中数据库Date类型与Java Date类型之间的映射问题?

使用MyBatis从数据库中查询出date类型字段,在Java类中仅看到日期,未看到时分秒。这是因为MyBatis默认情况下,将date类型字段映射为java.util.Date类型,该类型只包含日期信息,不包含时分秒。

原因分析:- MyBatis在映射date类型字段时,默认使用java.util.Date类型,该类型不包含时分秒信息。- 如果需要获取时分秒信息,需要修改MyBatis的配置,使其将date类型字段映射为包含时分秒的java.sql.Timestamp类型。

解决方案:

1.修改MyBatis的映射配置,将date类型字段映射为Timestamp类型。

2.在Java类中,使用Timestamp类型接收查询结果。

示例代码:

xml

java// Java类public class DateEntity { private Timestamp dateField;

// getter和setter方法}

通过以上修改,可以在Java类中获取到包含时分秒的日期信息。

使用mybatis 从数据库中查询出date 类型字段,在java 类型中只看到了日期,没有看到时分秒,

如何处理MyBatis中数据库Date类型与Java Date类型之间的映射问题?

从数据库中是可以看到时分秒的。后来发现是mybatis 映射数据类型的原因:

如:

<result column="CREATEDATE" property="createdate" jdbcType="Date" />

映射出来的时间格式时分秒都为0 (2017-01=12 00:00:00)

<result column="PICKUPDATE" property="pickupdate" jdbcType="TIMESTAMP" />

映射出来的时间格式有时分秒 (2017-01=12 11:05:11)

补充知识:springboot 返回Date类型数据 格式化

1.提示类的get方法上增加JsonFormat

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") public Date getCreateTime() { return createTime; }

2.或者在配置文件中增加

spring:   jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8

以上这篇解决mybatis 数据库date 与 java中Date类型映射问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

本文共计430个文字,预计阅读时间需要2分钟。

如何处理MyBatis中数据库Date类型与Java Date类型之间的映射问题?

使用MyBatis从数据库中查询出date类型字段,在Java类中仅看到日期,未看到时分秒。这是因为MyBatis默认情况下,将date类型字段映射为java.util.Date类型,该类型只包含日期信息,不包含时分秒。

原因分析:- MyBatis在映射date类型字段时,默认使用java.util.Date类型,该类型不包含时分秒信息。- 如果需要获取时分秒信息,需要修改MyBatis的配置,使其将date类型字段映射为包含时分秒的java.sql.Timestamp类型。

解决方案:

1.修改MyBatis的映射配置,将date类型字段映射为Timestamp类型。

2.在Java类中,使用Timestamp类型接收查询结果。

示例代码:

xml

java// Java类public class DateEntity { private Timestamp dateField;

// getter和setter方法}

通过以上修改,可以在Java类中获取到包含时分秒的日期信息。

使用mybatis 从数据库中查询出date 类型字段,在java 类型中只看到了日期,没有看到时分秒,

如何处理MyBatis中数据库Date类型与Java Date类型之间的映射问题?

从数据库中是可以看到时分秒的。后来发现是mybatis 映射数据类型的原因:

如:

<result column="CREATEDATE" property="createdate" jdbcType="Date" />

映射出来的时间格式时分秒都为0 (2017-01=12 00:00:00)

<result column="PICKUPDATE" property="pickupdate" jdbcType="TIMESTAMP" />

映射出来的时间格式有时分秒 (2017-01=12 11:05:11)

补充知识:springboot 返回Date类型数据 格式化

1.提示类的get方法上增加JsonFormat

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") public Date getCreateTime() { return createTime; }

2.或者在配置文件中增加

spring:   jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8

以上这篇解决mybatis 数据库date 与 java中Date类型映射问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。