《2---关于JDBC编程过程中驱动配置问题》

说明:我在Editplus中编写了一个简单的JDBC程序,用来测试是否和数据库连接正确。读者如有其它疑问,可以留言交流。

【1】程序如下:

 1 import java.sql.*;
 2 public class ConnMySql
 3 {
 4     public static void main(String[] args) throws Exception
 5     { 
 6         // 1.加载驱动,使用反射的知识,现在记住这么写。
 7         Class.forName("com.mysql.jdbc.Driver");
 8         try(
 9             // 2.使用DriverManager获取数据库连接,
10             // 其中返回的Connection就代表了Java程序和数据库的连接
11             // 不同数据库的URL写法需要查驱动文档知道,用户名、密码由DBA分配
12             Connection conn = DriverManager.getConnection(
13                 "jdbc:mysql://127.0.0.1:3306/select_test"
14                 , "root" , "258080");
15             // 3.使用Connection来创建一个Statment对象
16             Statement stmt = conn.createStatement();
17             // 4.执行SQL语句
18             /*
19             Statement有三种执行sql语句的方法:
20             1 execute 可执行任何SQL语句。- 返回一个boolean值,
21               如果执行后第一个结果是ResultSet,则返回true,否则返回false
22             2 executeQuery 执行Select语句 - 返回查询到的结果集
23             3 executeUpdate 用于执行DML语句。- 返回一个整数,
24               代表被SQL语句影响的记录条数
25             */
26             ResultSet rs = stmt.executeQuery("select s.* , teacher_name"
27                 + " from student_table s , teacher_table t"
28                 + " where t.teacher_id = s.java_teacher"))
29         {
30             // ResultSet有系列的getXxx(列索引 | 列名),用于获取记录指针
31             // 指向行、特定列的值,不断地使用next()将记录指针下移一行,
32             // 如果移动之后记录指针依然指向有效行,则next()方法返回true。
33             while(rs.next())
34             {
35                 System.out.println(rs.getInt(1) + "	"
36                     + rs.getString(2) + "	"
37                     + rs.getString(3) + "	"
38                     + rs.getString(4));
39             }
40         }
41     }
42 }

【2】然后在DOS命令行中执行这个程序,执行过程如下:

从上图中可以看到,在我编写的源程序的第7行出现了错误,到源程序中查看第7行的代码如下:

【3】由此可以猜测,应该是JDBC驱动没有正确配置。下面开始配置JDBC驱动。

在配置JDBC驱动之前,首先在%JAVA_HOME%目录(解释:%JAVA_HOME%目录就是我们在配置Java JDK环境变量时所用到JAVA_HOME变量,相信读者应该都很清楚。下建立一个mysqlforjdbc文件夹,然后把mysql-connector-java-5.1.26-bin.jar复制到该目录下(我的是mysql-connector-java-5.1.26-bin.jar,读者的版本可能和我的不一样。)

我的操作后结果如下图:

 

【4】进入到%JAVA_HOME%lib目录下,将mysql-connector-java-5.1.26-bin.jar复制到该目录下。

我操作后的结果如下图:

【5】接下来配置CLASSPATH,在以前配置Java JDK环境变量时,配置的CLASSPATH环境变量后追加%JAVA_HOME%libmysql-connector-java-5.1.26-bin.jar ;%JAVA_HOME%mysqlforjdbcmysql-connector-java-5.1.26-bin.jar  然后确定。 (注意:不能有空格)

我操作后的结果如下:

 

【6】关掉之前的那个DOS命令行窗口,重新打开一个DOS命令行窗口,再次依次执行【1】、【2】步骤。

如下图:

可以看到成功执行了。

原文地址:https://www.cnblogs.com/sun-/p/5710855.html