MyEclipse使用Java 通過JDBC連接MySQL數據庫的基本測試


MyEclipse使用Java 通過JDBC連接MySQL數據庫的基本測試

1.前提是MyEclipse已經能正常開發Java工程。

2.安裝MySQL

個人使用的是版本是 mysql-5.0.22-win32.zip

網址:http://www.mysql.com/downloads/mysql/#downloads

3.下載JDBC驅動

個人使用的是 mysql-connector-java-5.1.22.zip,所需要的就是解壓縮之后其中的 mysql-connector-java-5.1.22-bin.jar

網址:http://www.mysql.com/downloads/connector/j/

4.代碼測試

 

 1 package ts.jsj.lyh;
 2 
 3 import java.sql.*;
 4 
 5 /** *//**
 6  * 使用JDBC連接數據庫MySQL的過程
 7  * DataBase:JSJ, table:student;
 8  * @author DuChangfeng 2008 09 18
 9  */
10 public class JDBCTest {
11     
12     public static Connection getConnection() throws SQLException, 
13             java.lang.ClassNotFoundException 
14     {
15         //第一步:加載MySQL的JDBC的驅動
16         Class.forName("com.mysql.jdbc.Driver");
17         
18         //取得連接的url,能訪問MySQL數據庫的用戶名,密碼;jsj:數據庫名
19         String url = "jdbc:mysql://localhost:3306/jsj";        
20         String username = "root";
21         String password = "111";
22         
23         //第二步:創建與MySQL數據庫的連接類的實例
24         Connection con = DriverManager.getConnection(url, username, password);        
25         return con;        
26     }
27     
28     
29     public static void main(String args[]) {
30         try
31         {
32             //第三步:獲取連接類實例con,用con創建Statement對象類實例 sql_statement
33             Connection con = getConnection();            
34             Statement sql_statement = con.createStatement();
35             
36             /** *//************ 對數據庫進行相關操作 ************/                
37             //如果同名數據庫存在,刪除
38             //sql_statement.executeUpdate("drop table if exists student");            
39             //執行了一個sql語句生成了一個名為student的表
40             //sql_statement.executeUpdate("create table student (id int not null auto_increment, name varchar(20) not null default 'name', math int not null default 60, primary key (id) ); ");
41             //向表中插入數據
42             //sql_statement.executeUpdate("insert student values(1, 'liying', 98)");
43             //sql_statement.executeUpdate("insert student values(2, 'jiangshan', 88)");
44             //sql_statement.executeUpdate("insert student values(3, 'wangjiawu', 78)");
45             //sql_statement.executeUpdate("insert student values(4, 'duchangfeng', 100)");
46             //---以上操作不實用,但是列出來作為參考---
47             
48             //第四步:執行查詢,用ResultSet類的對象,返回查詢的結果
49             String query = "select * from student";            
50             ResultSet result = sql_statement.executeQuery(query);
51             /** *//************ 對數據庫進行相關操作 ************/
52             
53             System.out.println("Student表中的數據如下:");
54             System.out.println("------------------------");
55             System.out.println("學號" + " " + "姓名" + " " + "數據成績 ");
56             System.out.println("------------------------");
57             
58             //對獲得的查詢結果進行處理,對Result類的對象進行操作
59             while (result.next()) 
60             {
61                 int number          = result.getInt("sno");
62                 String name      = result.getString("sname");
63                 String mathScore = result.getString("sgrade");
64                 //取得數據庫中的數據
65                 System.out.println(" " + number + " " + name + " " + mathScore);                
66             }
67             
68             //關閉連接和聲明
69             sql_statement.close();
70             con.close();
71             
72         } catch(java.lang.ClassNotFoundException e) {
73             //加載JDBC錯誤,所要用的驅動沒有找到
74             System.err.print("ClassNotFoundException");
75             //其他錯誤
76             System.err.println(e.getMessage());
77         } catch (SQLException ex) {
78             //顯示數據庫連接錯誤或查詢錯誤
79             System.err.println("SQLException: " + ex.getMessage());
80         }
81     }
82 
83 }

 

以上大部分內容整理自網絡,感謝猿猿們的無私奉獻~~具體的步驟、強大的互聯網上都比較容易查詢的到,這里不再贅述,現加上幾點個人認為需要注意的地方:

1)  關於mysql-connector-java-5.1.22-bin.jar 的存放位置。在MyEclipse具體的java工程中新建一存放jar 包的文件夾(如 lib),將mysql-connector-java-5.1.22-bin.jar 復制到文件夾中,選中jar包右擊--->Build Path--->Add To Build Path,即可。

若出現

ClassNotFoundExceptioncom.mysql.jdbc.Driver

的提示,則正是由於缺少導入jar包所造成的。

2)  如果已經對MySQL的使用很熟悉,則可忽略這條。個人在測試連接時,老是出現這樣的異常提示:

SQLException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

這正是由於個人對MySQL使用不熟悉,對MySQL進行了諸多嘗試性的操作,不知何時無意中將MySQL的服務(如果在安裝MySQL時沒有更改的話,缺省服務名就是MySQL)關閉,解決方法開啟此服務即可。控制面板--->管理工具--->服務--->MySQL--->選擇啟用。

3)在使用上面的代碼測試時,需要更改的地方有:

//MySQL數據庫的用戶名,密碼,數據庫名
19         String url = "jdbc:mysql://localhost:3306/jsj";       
20         String username = "root";
21         String password = "111";
以及具體基本表中的所要查詢的字段名

61                 int number          = result.getInt("sno");
62                 String name      = result.getString("sname");
63 String mathScore = result.getString("sgrade");

多多分享,有問題歡迎交流~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM