MySQL JDBC Driver 8.0+设置服务器时区
遇到一个问题,线下环境测试数据的查询完全没有问题,但是线上环境却没法查询出数据,并且从mybatis输出的日志来看,查询参数也没有问题,数据库中数据也是存在的,查询参数类型是java.util.Date。
而且mybatis还很迷的输出了这么一句Total: 1 ,这行日志是在对mybatis开启DEBUG才会输出的
于是,想破了头,一心想着是不是mybatis在查询结果后,从查询结果集到实体类的映射出了什么问题?
但是又很怀疑,因为并没有任何异常抛出来
期间想到要不用下BTrace,后来还是决定把mybatis源码过一遍看看,毕竟,即便使用BTrace,也要知道从哪里入手来排查
吭呲吭呲的啃了一天多,mybatis太缺少注释,看起来是真的难
找到了没有查到结果但是日志又输出
Total: 1的原因,给mybatis提了个Issue
最后发现从代码看不出问题(主要还是不精)
最后还是指望BTrace这些玩意了
然后看到说阿里的Arthas比较好用些,最后就用了下,挺不错的
然后最后跟踪的结果就是,实际查询时使用的时间和我程序计算的时间不一样,小了十三个小时,我就猜到可能是这个原因了
最后给JdbcURL加上了serverTimezone=Aisa/Shanghai,问题解决了
这里要说的是,如果你使用的MySQL JDBC Driver版本在8.0及以上,一定要设置这个
一般来说,如果MySQL服务器设置了时区信息,应该是没问题的
show variables like '%time_zone%'; 这样来查看MySQL服务器设置的时区信息
不过如果没有设置,就可能出现不同的环境,产生这种不易发现的问题。
MySQL JDBC Driver 8.0+设置服务器时区的更多相关文章
- Oozie时出现Exception in thread "main" java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0?
不多说,直接上干货! 问题详情 [hadoop@bigdatamaster oozie--cdh5.5.4]$ bin/ooziedb.sh create -sqlfile oozie.sql -ru ...
- com/mysql/jdbc/Driver : Unsupported major.minor version 52.0
解决方案: 1.jdk7+老版5.0驱动com/mysql/jdbc/Driver 2.jdk8+新版6.0驱动com/mysql/cj/jdbc/Driver
- java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0
版本为: jdk1.7.0_80 mysql-connector-java-5.1.46-bin.jar 解决办法: 升级JDK或者降级MySQL Connector/J为mysql-connecto ...
- 解决驱动版本不对应导致的UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is ...
- com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别 serverTimezone设定
转自: http://blog.csdn.net/superdangbo/article/details/78732700 com.mysql.jdbc.Driver 和 com.mysql.cj.j ...
- com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别
com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的 ...
- mySql版本的相关问题:com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver
Mysql版本的相关问题:com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver 1. 在使用mysql时,控制台日志报错如下: Loading class `c ...
- MySQL JDBC常用知识,封装工具类,时区问题配置,SQL注入问题
JDBC JDBC介绍 Sun公司为了简化开发人员的(对数据库的统一)操作,提供了(Java操作数据库的)规范,俗称JDBC,这些规范的由具体由具体的厂商去做 对于开发人员来说,我们只需要掌握JDBC ...
- com.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的区别
概述:com.mysql.jdbc.Driver是mysql-connector-java 5中的,而com.mysql.cj.jdbc.Driver是mysql-connector-java 6中的 ...
随机推荐
- 1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、212345等. 要求:”4”不能在第三位,”3”与”5”不能相连。
private static String[] mustExistNumber = new String[] { "1", "2", "2" ...
- Extjs更新grid
基于Extjs4.2 原理是创建一个新的store,来覆盖原有的store. //创建数据 var newdatas = { name: "ly", age: 17, adress ...
- XML-解析失败原因初步分析
更多精彩文章请关注公众号『大海的BLOG』 首先放出有问题的代码 之所以直入主题是因为肝完了事情,急需入睡.hiahia hiboard:updateUrl="https://xxx.com ...
- PHP函数:json_last_error
json_last_error() - 返回 JSON 编码解码时最后发生的错误.. 说明: json_last_error ( void ) : int 参数: 无 返回值: 返回一个整型(int ...
- js的中文英文排序
本例主要实现 中文汉字按拼音排序的方法和英文按照首字母排序的方法. //要排序的数据 let data = [ {chinese: '蔡司', english: 'Chase'}, {chinese: ...
- this 关键字的用法
用法一 this代表当前类的实例对象 class Program { static void Main(string[] args) { tr ...
- 模糊字符串匹配:FuzzyWuzzy
FuzzyWuzzy 模糊字符串匹配,它使用Levenshtein Distance来计算简单易用的包中序列之间的差异. 前置条件 Python 2.7 or higher difflib pytho ...
- 一图解析MongoDB
了解MongoDB,这一张图就够了: 版权所有,转载请注明出处.
- python学习04数据
#1.**幂 //返回商的整数部分x=5y=3print(x**y)print(x//y)print(5/2)#2.复数a+bjc=2+5jprint(c.real)#返回复数的实部print(c.i ...
- QtConcurrent::run() 只能运行参数个数不超过5的函数
有时不得不看源码 qtconcurrentrun.h template <typename T, typename Param1, typename Arg1, typename Param2, ...