【问题标题】:How can I change timezone and go back previous timezone如何更改时区并返回上一个时区
【发布时间】:2016-09-13 02:49:12
【问题描述】:

我的项目库版本是 mybatis 3.1 PostgreSQL 9.2

我想在选择查询之前更改连接时区。并返回时区。

首先,我尝试一下。在映射器 xml 中设置时区。

set timezone = 'Asia/Seoul' ;
select now();
set timezone = 'UTC';

我认为如果选择查询时发生错误,则时区未设置为 UTC。 如果时区未设置为 UTC,则对不同请求的查询将是 UTC 时间。

第二个,我试试。 spring DI注入的sqlsession。

sqlsession.selectOne(namespace.setTimezone, 'Asia/Seoul');
sqlsession.selectOne(namespace.selectNow);
sqlsession.selectOne(namespace.setTimezone, 'UTC');

我想。三个sqlsession这可能不是同一个连接。

如何更改时区并返回上一个时区? 如果我处理事务,三个sqlsession发生的是同一个连接吗?

【问题讨论】:

    标签: sql postgresql timezone connection mybatis


    【解决方案1】:

    使用事务。

    mybatis 物有所值,它会支持数据库事务,并且它必须为一个事务中的所有语句使用相同的连接。

    我不知道 mybatis 是否可以做到这一点,但是在 PostgreSQL 中你可以使用SET LOCAL 仅在事务期间更改参数。交易结束时会自动重置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-17
      • 1970-01-01
      • 1970-01-01
      • 2016-05-06
      • 2021-10-04
      • 1970-01-01
      相关资源
      最近更新 更多