老师,用IDEA手工创建c3p0连接池的方法可以获得连接,用配置文件就会抛异常 这是什么问题?
数据库:8.0+
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <? xml version = "1.0" encoding = "UTF-8" ?> < c3p0-config > < default-config > < property name = "driverClass" >com.mysql.cj.jdbc.Driver</ property > <!-- &=>& &用 & 代替--> < property name = "jdbcUrl" >jdbc:mysql:///jdbctest?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8</ property > < property name = "user" >root</ property > < property name = "password" >1234</ property > < property name = "initialPoolSize" >5</ property > < property name = "maxPoolSize" >20</ property > </ default-config > </ c3p0-config > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | package com.gavin.utils; import com.mchange.v2.c3p0.ComboPooledDataSource; import java.sql.*; public class JDBC_c3p0 { private static final ComboPooledDataSource dataSource = new ComboPooledDataSource(); /** * 获得连接的方法: * @throws SQLException */ public static Connection getConnection() throws Exception{ Connection conn = dataSource.getConnection(); return conn; } public static void release(ResultSet rs,Statement stmt,Connection conn){ if (rs!= null ){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } rs = null ; } if (stmt != null ){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } stmt = null ; } if (conn != null ){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn = null ; } } } |
这两个是什么意思?
java.sql.SQLException: No suitable driver
java.sql.SQLException: Connections could not be acquired from the underlying database!
29
收起
正在回答
2回答
No suitable driver,如果jar包在环境依赖中存在问题的话,就会发生这个异常。
你把你的lib文件夹放到WEB-INF目录下以后再重新运行项目试下~~
祝学习愉快!
Java数据库开发与实战应用2018版
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧