數據庫連接失敗錯誤ERROR com.alibaba.druid.pool.DruidDataSource - {dataSource-1} init error解決

用java -jar啓動以後,只要一訪問數據庫就報錯,錯誤信息以下:java

文字以下:mysql

2019-07-02 10:25:12.220 ---> [http-nio-8080-exec-1] ---> ERROR com.alibaba.druid.pool.DruidDataSource - {dataSource-1} init error
java.sql.SQLException: com.mysql.cj.jdbc.Driver
at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:620)
at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:885)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1311)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1307)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:109)
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:157)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:115)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:78)
at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:82)
at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:68)
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:336)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:84)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
at com.sun.proxy.$Proxy99.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230)
at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:137)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
at com.sun.proxy.$Proxy102.selectAll(Unknown Source)
at com.shopin.handtopgrade.service.Impl.DescChannelTypeServiceImpl.selectAll(DescChannelTypeServiceImpl.java:34)
at com.shopin.handtopgrade.controller.DescChannelTypeController.selectAll(DescChannelTypeController.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)spring

折騰了一天時間,最後終於發現問題,並解決了。sql

現象:數據庫

在本地訪問數據庫沒有問題,可是一發布到服務器,只要一連接數據庫就報錯。apache

解決路徑:服務器

一、一開始我覺得是數據庫限制了這臺服務器的訪問,結果在服務器裝上mysql客戶端,是能夠成功連接mysql的,這預言錯誤;session

二、我項目中有application.yml和application.properties兩個配置,朋友說有多是衝突了,讓我刪一個,我把application.properties刪掉,結果仍是不行,因此這個預言也不立;mybatis

三、我仔細看了下pom文件,發現pom中 mysql-connector-java 的版本,與External Libraries包中的版本號不同,我想多是版本問題,因而把pom中的版本號刪掉,奇蹟出現了,結果問題解決了。app

相關文章
相關標籤/搜索