我的环境
Java 5
Spring2.5.5
DBCP数据源 (org.apache.commons.dbcp.BasicDataSource)
的MySQL
类似职位
链接
我的问题
我需要在连接上设置时区,以防止在处理TIMESTAMP列时进行转换。
我的想法/研究
DBCP连接池未在时区提及任何内容。链接
我在这篇文章中描述了我认为可以的调查,例如:
寻求帮助的地方:)
但是,这是行不通的!
我在这里想要的是一种简单的方法,优先使用Spring在jdbc连接上配置时区。
在此先感谢您的帮助/提示/建议/知识共享
解:
我的解决方案基于这篇文章中收集的提示!谢谢大家!
(...)
@Override
public Connection getConnection() {
Connection conn = null;
Statement statement = null;
try {
conn = super.getConnection();
statement = conn.createStatement();
statement.execute("SET time_zone = \'" + timezone+"\'");
} catch (SQLException e) {
LOG.fatal("Error while SET time_zone", e);
} finally {
try {
statement.close();
} catch (SQLException e) {
LOG.warn("Error while closing statement", e);
}
}
if(LOG.isDebugEnabled())
LOG.debug("SET time_zone("+timezone+") for connection, succeed!");
return conn;
}
(...)
在我的Spring配置文件上:
(...)
(...)
希望这篇文章对以后的人有所帮助。有什么问题我吗!