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

这几天在用maven写项目 过程中遇到一个坑 是本人粗心大意了 一直报错No suitable driver 然后就一心去找这个错误 网上找了很多遍 大部分都是说oracle驱动问题 

于是我怀疑是不是我在maven命令中加入oracle驱动出了问题 但事实证明没有错误 (maven命令下面附图)

驱动换了好几个 依然报错 

ojdbc6-11.1.0.6.0这个驱动 会多报一个错 说是这个驱动有bug 升级到ojdbc-11.1.0.7.0就好了 

于是我觉得问题不应该出在驱动上 不可能好几个驱动没有一个不能用的 

所以写了jdbc连接代码做了测试 这一测 给我测的立马给了我自己一巴掌 一直以为是驱动问题 没想到是URL填写错误引发的 斜体标蓝部分就是书写错误的代码 把thin写成了then。。。

改过来后立马正常!

以下是异常代码:

Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for connect URL 'jdbc:oracle:then:localhost:1521:orcl'
### The error may exist in AutomaticAccount.xml
### The error may involve com.assist.dao.IAutomaticAccountDAO.getUser
### The error occurred while executing a query
### Cause:

### The error may exist in AutomaticAccount.xml
### The error may involve com.assist.dao.IAutomaticAccountDAO.getUser
### The error occurred while executing a query
### Cause:
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for connect URL 'jdbc:oracle:then:localhost:1521:orcl'] with root cause
java.sql.SQLException: No suitable driver
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(
BasicDataSource.java:1443)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(
BasicDataSource.java:1371)
at org.apache.tomcat.dbcp.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)
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 org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
at com.sun.proxy.$Proxy11.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:82)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
at com.sun.proxy.$Proxy12.getUser(Unknown Source)
at com.assist.service.AutomaticAccountService.getUser(AutomaticAccountService.java:36)
at com.assist.action.AutomaticAccountAction.getUser(AutomaticAccountAction.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

由于oracle是收费的所以oracle的驱动maven中央仓库并没有 我们只能使用命令自己来搞

maven命令导入oracle驱动图:(使用maven命令的前提是电脑中配置了maven环境)

本人oracle11G 32位 11.1.0.6.0是oracle的版本 (因为11.1.0.6.0存在bug所以下图中是11.1.0.7.0版本)

不过我最后用的是ojdbc14-10.2.0.4.0

使用这条sql可以查看自己的oracle版本: select * from v$version

这一步命令就是把ojdbc的驱动包放入本地仓库repository中 完成后在pom.xml中使用下面语句即可成功引用oracle驱动

<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.4.0</version>
</dependency>

此时maven库中也有了显示

完成!

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
回答: 错误"Error updating database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection"通常是由于数据库连接配置错误导致的。根据引用\[1\]的信息,你需要确保在pom.xml文件将MySQL数据库驱动程序的版本更改为8.0.12,并在jdbc.properties文件正确配置数据库连接参数。另外,引用\[2\]的错误信息表明数据库可能被锁定,你可以尝试重新启动事务来解决这个问题。引用\[3\]的错误信息表明SQL语法有误,你需要检查SQL语句是否正确。请仔细检查你的数据库连接配置和SQL语句,确保它们正确无误。 #### 引用[.reference_title] - *1* [Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could no](https://blog.csdn.net/Sun_Hongbin/article/details/81873967)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Loc](https://blog.csdn.net/weixin_56061622/article/details/124737351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [org.springframework.jdbc.BadSqlGrammarException: Error updating database](https://blog.csdn.net/weixin_62765017/article/details/128389734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值