說明:我在Editplus中編寫了一個簡單的JDBC程序,用來測試是否和數據庫鏈接正確。讀者若有其它疑問,能夠留言交流。java
【1】程序以下:mysql
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) + "\t" 36 + rs.getString(2) + "\t" 37 + rs.getString(3) + "\t" 38 + rs.getString(4)); 39 } 40 } 41 } 42 }
【2】而後在DOS命令行中執行這個程序,執行過程以下:sql
從上圖中能夠看到,在我編寫的源程序的第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,讀者的版本可能和個人不同。)spa
個人操做後結果以下圖:命令行
【4】進入到%JAVA_HOME%\lib目錄下,將mysql-connector-java-5.1.26-bin.jar複製到該目錄下。指針
我操做後的結果以下圖:code
【5】接下來配置CLASSPATH,在之前配置Java JDK環境變量時,配置的CLASSPATH環境變量後追加%JAVA_HOME%\lib\mysql-connector-java-5.1.26-bin.jar ;%JAVA_HOME%\mysqlforjdbc\mysql-connector-java-5.1.26-bin.jar 而後肯定。 (注意:不能有空格)對象
我操做後的結果以下:
【6】關掉以前的那個DOS命令行窗口,從新打開一個DOS命令行窗口,再次依次執行【1】、【2】步驟。
以下圖:
能夠看到成功執行了。