无法载入com.mysql.jdbc.Driver驱动程序! 无法连接数据库!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法载入com.mysql.jdbc.Driver驱动程序! 无法连接数据库!相关的知识,希望对你有一定的参考价值。

jsp 连接mysql
追加的classpath为
.:D:\Java\jdk1.6.0_23\lib\mysql-connector-java-5.0.8-bin-g.jar;.:D:\Java\mysqlforjdbc\mysql-connector-java-5.0.8-bin.jar;
两个文件在相应的目录下
测试代码为如下所示
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<%
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/Blog_db";
String userid="root";
String passwd="root";

try
Class.forName("driver");

catch(Exception e)
out.println("无法载入"+driver+"驱动程序!");
e.printStackTrace();


try
Connection con=DriverManager.getConnection(url,userid,passwd);
if(!con.isClosed())
out.println("成功连接数据库!");
con.close();

catch(SQLException SQLe)
out.println("无法连接数据库!");


%>
</BODY>
</HTML>
请会的知道一下 先谢谢咯 请别粘贴回答

如果是myeclipse则右键点击项目 选择属性然后选取java构建路径 选择库 添加外部JAR 把你的JDBC路径加入就行 参考技术A 驱动没有放对.
在%java_home%\目录下建立mysqlforjdbc子目录,进入该目录将mysql-connector-java-3.1.10-bin.jar到该目录下
在%java_home%\lib目录,将mysql-connector-java-3.1.10-bin-g.jar拷贝到该目录下
然后配置classpath,追加%java_home%\lib\mysql-connector-java-5.0.5-bin.jar
;%java_home%\mysqlforjdbc\mysql-connector-java-5.0.5-bin.jar
;
另外,server/all/lib,如果你用的不是all,在server/default/lib中也放一份试试
参考技术B 您好,这样的情况建议您可以升级到最新版本试一下,或是联系一下官网客服比较好。

JDBC

JDBC编码的步骤:
	1、载入驱动并注冊驱动
		Class.forName("com.mysql.jdbc.Driver");
		
		说明:在载入Driver类时,它会自己主动创建自己的实例并向 DriverManager 注冊该实例。
		
		com.mysql.jdbc.Driver的源代码:
		public class Driver extends NonRegisteringDriver implements java.sql.Driver {

			// Register ourselves with the DriverManager
			static {
				try {
					java.sql.DriverManager.registerDriver(new Driver());
				} catch (SQLException E) {
					throw new RuntimeException("Can't register driver!");
				}
			}

			// Construct a new driver and register it with DriverManager
			public Driver() throws SQLException {
				// Required for Class.forName().newInstance()
			}
		}

	2、获取与数据库的连接:Connection
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/oa", "root", "root");
	3、得到代表SQL语句的对象:Statement
		Statement stmt = conn.createStatement();
	4、发送SQL给数据库。假设有查询结果。则得到封装了查询结果的对象:ResultSet
		ResultSet rs  = stmt.executeQuery("select id,name,password,email,birthday from users");
	5、遍历结果
		while(rs.next()){
			System.out.println(rs.getObject("id"));
			System.out.println(rs.getObject("name"));
		}
	6、释放占用的资源
		rs.close();
		stmt.close();
		conn.close();

JDBC中经常使用的接口和类
	1、DriverManager
		作用:注冊驱动,得到数据库的连接
		1.1注冊驱动:
			DriverManager.registDriver(new com.mysql.jdbc.Driver());(不可取)
			原因:	1、严重依赖详细的数据库驱动。
					2、导致驱动注冊两遍。也就是在内存中会有两个Driver对象
					注:new com.mysql.jdbc.Driver():在new了一个driver的同一时候使用DriverManager把自己给注冊了(查看com.mysql.jdbc.Driver的源代码可知)。

替代方案: Class.forName("com.mysql.jdbc.Driver"); 1.2获取数据库的连接: static Connection getConnection() 2、Connection 全部与数据库交互都必须建立在连接的基础上 3、Statement 作用:代表着SQL语句 经常使用的方法: ResultSet executeQuery(String sql) int executeUpdate(String sql) boolean execute(String sql) PreparedStatement:处理 DML 语句的利器。有下面3点优点 1、预编译SQL语句。数据库运行效率高。

注:Statement会使数据库频繁编译SQL。可能造成数据库缓冲区溢出 2、防止SQL注入 3、支持參数占位符"?",简化sql语句的编写 PreparedStatement pstmt = conn.prepareStatement("insert into user (username, birthday) values(?,?)"); pstmt.setString(1, user.getUsername()); pstmt.setDate(2, new java.sql.Date(user.getBirthday().getTime())); pstmt.executeUpdate(); 4、ResultSet boolean next():下移一行 boolean previous():上移一行 void absolute(int row):第一行的记录就是1 注:absolute(1) 等效于 first()、absolute(-1) 等效于last() void beforeFirst():移动到第一行的前面 void afterLast():移动到最后一行的后面 5、释放资源 rs.close(); stmt.close(); conn.close();



以上是关于无法载入com.mysql.jdbc.Driver驱动程序! 无法连接数据库!的主要内容,如果未能解决你的问题,请参考以下文章

JDBC

无法加载 JDBC 驱动程序类“com.mysql.jdbc.Driver”Tomcat 8 和 Eclipse

如何解决“无法为连接 URL 创建类 'com.mysql.jdbc.Driver' 的 JDBC 驱动程序”

无法在 ipython 中正确创建 spark 上下文以链接到 MySQL - com.mysql.jdbc.Driver

从 2.6 升级到 3.7 时,BIRT JDBCException“无法加载 JDBC 驱动程序类:com.mysql.jdbc.Driver”

无法加载驱动程序类:com.mysql.jdbc.Driver 与 Gradle 和 Spring Boot