1. 程式人生 > >連線mysql資料庫連線報錯,是pom檔案配置mysql連線驅動版本號問題

連線mysql資料庫連線報錯,是pom檔案配置mysql連線驅動版本號問題

前一段時間安裝了最新的mysql 8.0.11,然後啟動一個專案的時候報錯資訊如下:

[ERROR] 2018-08-14 17:28:21,246 method:com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:695)
init datasource error, url: jdbc:mysql://127.0.0.1:3306/mapp?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
    at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1074)
    at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3600)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2541)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2311)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:347)
    at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:148)
    at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:785)
    at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:142)
    at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1410)
    at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1464)
    at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:684)
    at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:991)
    at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:987)
    at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:103)
    at com.jfinal.plugin.activerecord.TableBuilder.build(TableBuilder.java:36)
    at com.jfinal.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:171)
    at com.jfinal.core.Config.startPlugins(Config.java:87)
    at com.jfinal.core.Config.configJFinal(Config.java:48)
    at com.jfinal.core.JFinal.init(JFinal.java:67)
    at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
    at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:118)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:768)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
    at org.eclipse.jetty.server.Server.doStart(Server.java:282)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at com.jfinal.server.JettyServer.doStart(JettyServer.java:120)
    at com.jfinal.server.JettyServer.start(JettyServer.java:64)
    at com.jfinal.core.JFinal.start(JFinal.java:159)
    at com.cefv.config.BaseConfig.main(BaseConfig.java:85)
Caused by: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
    at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1019)
    ... 42 more
[ERROR] 2018-08-14 17:28:21,263 method:com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:713)
{dataSource-1} init error

經過查資料發現是pom檔案配置的mysql版本號的問題

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.27</version>
</dependency>

因為我的電腦安裝的是最新的8.0.11資料庫,連線驅動如圖5.1.27版本會報如上錯誤,改為5.1.44及以上版本即可。