org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection

这个问题困扰许久,许久。原来只是data source的properties引入文件,el表达式前必须加jdbc

原文解决参考:http://blog.csdn.net/liwuyang2013/article/details/25986597

org.apache.ibatis.exceptions.PersistenceException:
### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root '@'localhost' (using password: YES))
### The error may exist in mapper/CustomerMapper.xml
### The error may involve com.zhexiang.mybatis_springmvc.model.selectCustomerByID
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root '@'localhost' (using password: YES))at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:111)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:66)at com.zhexiang.mybatis_springmvc.dao.impl.CustomerDaoImpl.selectCustomerByID(CustomerDaoImpl.java:18)at com.zhexiang.mybatis_springmvc.dao.impl.CustomerDaoImplTest.testSelectCustomerByID(CustomerDaoImplTest.java:37)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at junit.framework.TestCase.runTest(TestCase.java:176)at junit.framework.TestCase.runBare(TestCase.java:141)at junit.framework.TestResult$1.protect(TestResult.java:122)at junit.framework.TestResult.runProtected(TestResult.java:142)at junit.framework.TestResult.run(TestResult.java:125)at junit.framework.TestCase.run(TestCase.java:129)at junit.framework.TestSuite.runTest(TestSuite.java:255)at junit.framework.TestSuite.run(TestSuite.java:250)at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root '@'localhost' (using password: YES))at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:81)at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67)at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:279)at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:72)at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:59)at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:137)at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:96)at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:77)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:108)... 23 more
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root '@'localhost' (using password: YES))at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)... 33 more
Caused by: java.sql.SQLException: Access denied for user 'root '@'localhost' (using password: YES)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1704)at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1250)at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2465)at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2498)at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)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:404)at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)... 37 more

出现以上错误原因是:数据源的错误配置:

错误的jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=gbk
username=root
password=root

错误的spring配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--  config db property file location  --><bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations" value="classpath:jdbc.properties"/></bean><bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource" ><property name="driverClassName" value="${driver}"/><property name="url" value="${url}" /><property name="username" value="${username}" /><property name="password" value="${password}" /></beans>

正确的jdbc.properties配置:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=gbk
jdbc.username=root
jdbc.password=root

Spring4.0.4 官方文档数据源配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="
    http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd"><!-- Scans within the base package of the application for @Components to configure as beans --><context:component-scan base-package="org.springframework.docs.test" /><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${jdbc.driverClassName}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean><context:property-placeholder location="jdbc.properties"/></beans>

麦田里的Cracker12-25 10:49
叼叼叼,楼主我都想请你吃饭了,这个问题困扰了我将近三天时间。jdbc什么我都配好了,就是出不来,网上的例子也大都千律一篇。赞

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection相关推荐

  1. org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested

    org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested ...

  2. org.springframework.jdbc.CannotGetJdbcConnectionException Failed to obtain JDBC Connection

    org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection:nested e ...

  3. IDEA连接数据库时报错org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection

    IDEA连接数据库的记录 各种看不懂的错 org.springframework.test.context.support.DefaultTestContextBootstrapper getTest ...

  4. Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException:

    一. 异常信息:Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: E ...

  5. 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 ...

  6. org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for

    错误样式: org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connecti ...

  7. JDBC学习笔记03【JDBC事务管理、数据库连接池、JDBCTemplate】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  8. Could not load JDBC driver class [com.mysql.jdbc.Driver]

    我使用Spring JDBC编程时,遇到一个错误消息:Could not load JDBC driver class [com.mysql.jdbc.Driver] 完整的错误为: Jul 27, ...

  9. Spring JDBC,JDBCTemplate对象简化JDBC的开发

    Spring JDBC,JDBCTemplate对象简化JDBC的开发 本篇文章中使用到了Druid数据库连接池,和自己创建的一个配合数据库连接池的工具类,本篇文章对于这些没有进行详细说明,对于这个, ...

  10. JDBC编程专题4之JDBC驱动程序类型

    1.JDBC驱动程序是什么? -  JDBC驱动程序在JDBC API中实现定义的接口,用于与数据库服务器进行交互. -  例如,使用JDBC驱动程序,可以通过发送SQL或者数据库命令,然后使用Jav ...

最新文章

  1. HTML5 Dashboard – 那些让你激动的 Web 技术
  2. 看!清华网红自行车成精了:拥有“类人脑芯片”,可无人驾驶!
  3. 腾讯云携手朋迈推出“综合能源服务平台” 实现能源资源“智慧化”运营
  4. Android设计模式-观察者模式
  5. selenium+Headless Chrome实现不弹出浏览器自动化登录
  6. 北京规定6类高级人才来京最高奖励30万元
  7. 6、使用infowindow
  8. C#基础系列——Attribute特性使用
  9. Linux服务器SMB服务挂载目录
  10. HTML5: HTML5 Geolocation(地理定位)
  11. 阿里云IPV6解决方案
  12. AMD显卡怎么设置玩游戏更流畅
  13. crx插件转换火狐插件_我的Firefox插件
  14. SWUST OJ533你的QQ多少级了?
  15. WiFi探针获取的伪MAC地址是什么?
  16. phpwind安装空白问题解决
  17. 一首经典的情歌 - 天涯歌女
  18. 深度学习之数据处理方法概述
  19. live555编译移植
  20. 4.4 埃尔米特插值

热门文章

  1. 中国分省、分城市地形起伏度数据
  2. 【Visio】 Visio的安装
  3. python 微信自动发图片,批量发送
  4. 信捷PLC编程工具软件是款编程工具
  5. ideaIU-2017安装破解及汉化全包
  6. c语言反三角函数有哪些,反三角函数公式有哪些?
  7. 生产排程系统_ASPROVA:工序排程软件的全球隐形冠军
  8. 用Matlab解MTPA的dq轴电流的方程
  9. MATLAB画柱状图(包括普通柱状图,多组柱状图,三维柱状图)
  10. 人工神经网络的算法原理,人工智能神经网络算法