Spring JDBC失去时区的时间戳偏移

问题描述

我在Postgresql 11中使用Java 8 + Spring 5.1.5R + mybatis 3.5.6。

我用这样的日期,时间戳和时间戳列执行选择查询

SELECT t_date,t_timestamp,t_timestamptz FROM a_table

我可以看到这样的ibatis日志。

t_timestamptz列具有偏移量,而t_timestamptz列无偏移量。

DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(137) - ==>  Preparing: SELECT t_date,t_timestamptz FROM a_table LIMIT ?
DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(137) - ==> Parameters: 1(Int)
TRACE org.apache.ibatis.logging.jdbc.BaseJdbcLogger.trace(143) - <==    Columns: t_date,t_timestamptz
TRACE org.apache.ibatis.logging.jdbc.BaseJdbcLogger.trace(143) - <==        Row: 2020-11-05,2020-11-05 22:27:44,2020-11-05 22:27:56.402235+09
DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(137) - <==      Total: 1

但是,我只能看到java.sql.Timestamp和java.sql.Date。

t_date: java.sql.Date:  2020-11-05
t_timestamptz:  java.sql.Timestamp: 2020-11-05 22:27:56.402235
t_timestamp:    java.sql.Timestamp: 2020-11-05 22:27:44.0

如何获取带偏移量的timestamptz列的值和不带偏移量的timestamp列的值?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)