玩转MySQL之MySQL版本与链接jar版本不匹配

版权声明:乘梦碧溪QQ:2838635235 https://blog.csdn.net/zy13651953784/article/details/84894803

今天同事的代码出现点问题,报错如下,找我调试,一开始我并不知道他的MySQL版本是8.0,还是第一次遇到这种错误,故记录以供大家参考学习,如有更好的解决方法敬请高手留言或联系QQ:2838635235:

Caused by: java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
      at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1023)
      at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3451)
      at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2443)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2213)
      at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:797)
      at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
      at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
      at java.sql.DriverManager.getConnection(DriverManager.java:582)

      at java.sql.DriverManager.getConnection(DriverManager.java:154)
      atorg.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
      at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
 ... 86 more
Caused by: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
      at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:974)
... 102 more

经过一番查询,发现SQL语句,Hibernate链接并没有错误,映射文件的属性名,类型与数据库都是正确的,到底是为什么呢?后面与她交流,才知晓他的MySQL版本是8.0,但是连接数据库的jar包是5.6的!!原因就出在这,希望大家以后在使用软件时,注意版本之间的相互配合使用,版本不要太高或者太低!在这里推荐使用这个组合:MySQL5.6+mysql-connector-java-5.1.13-bin.jar
下面为大家奉上MySQL的链接数据库的jar包:包含两个版本的jar包(5.1和8.0)供选择https://download.csdn.net/download/zy13651953784/10837318

猜你喜欢

转载自blog.csdn.net/zy13651953784/article/details/84894803