Java使用JDBC連接MySQL數據庫


1、引用

    JDBC(Java Data Base Connectivity,java數據庫連接)是一種用於執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基准,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序,同時,JDBC也是個商標名。

 

2、下載

    連接MySQL數據庫要先下載Connector/J的庫文件,下載Connector/J的官網地址:http://www.mysql.com/downloads/connector/j/ ,下載后是個壓縮文件,我們只需解壓出里面的jar庫文件,然后導入到項目工程中。這是我用的Connector/J 版本:http://pan.baidu.com/s/1mildht2

    MySQL數據庫連接的用戶名是root,密碼是123456,端口是3306,里面有一個自己新建的數據庫名為student,student里面有一個新建的表為stuinfo,MySQL數據庫安裝包下載:http://pan.baidu.com/s/1sleNubV 

MySQL的相關語句:

/* 以下僅是一些基本的SQL語句 */
create database student;      /* 創建一個數據庫,數據庫名為student */
show databases;               /* 查看數據庫 */
use student;                  /* 使用名為student的數據庫 */
create table stuinfo(id char(12),name char(20),age int);    /* 創建一個表,表名為stuinfo */
show tables;                  /* 查看表 */
insert into stuinfo values('201307020010','zhangsan',21);   /* 插入一條記錄到stuinfo表中 */
select * from stuinfo;        /* 查詢表中所有的記錄 */
select id,name from stuinfo;  /* 查詢表中的指定字段 */
select * from stuinfo where age=21;           /* 帶條件查詢 */

delete from stuinfo where id='201307020010';  /* 帶條件刪除表中指定記錄 */
drop table stuinfo;           /* 刪除一個表 */

更多MySQL語句可查看:常用的MySQL數據庫操作語句大全 

 

3、在Eclipse中導入Connector/J庫文件的步驟:

項目工程:新建一個Java項目,添加一個TestDB類,將下面第4步源代碼拷貝進去即可

(1)在項目工程中新建一個名為"lib"的文件夾,然后將"mysql-connector-java.jar"文件拷貝到該文件夾內。

(2)右擊項目,點擊 Properties / Java Build Path / Libraries / Add JARS / 選擇lib文件夾下的mysql-connector-java.jar / OK 

 

4、編譯運行:

注意在編譯運行時應先在項目中導入Connector/J庫文件,啟動MySQL數據庫服務,確保用戶名和密碼正確,且數據庫和表必須已創建,否則會拋出異常。

源代碼:

 1 import java.sql.Connection;
 2 import java.sql.DriverManager;
 3 import java.sql.ResultSet;
 4 import java.sql.SQLException;
 5 import java.sql.Statement;
 6 
 7 public class TestDB {
 8 
 9     public static void main(String[] args) {
10         Connection conn = null;
11         Statement stmt = null;
12         ResultSet rs = null;
13         
14         // MySQL的JDBC連接語句
15         // URL編寫格式:jdbc:mysql://主機名稱:連接端口/數據庫的名稱?參數=值
16         String url = "jdbc:mysql://localhost:3306/student?user=root&password=123456";
17         
18         // 數據庫執行的語句
19         String sql = "insert into stuinfo values('201307020010','zhangsan',21);";//插入一條記錄
20         //String sql = "create table stuinfo(id char(12),name char(20),age int);";//創建一個表
21         
22         // 查詢語句
23         String cmd = "select * from stuinfo;";
24         try {
25             Class.forName("com.mysql.jdbc.Driver"); // 加載驅動
26             conn = DriverManager.getConnection(url); // 獲取數據庫連接
27             stmt = conn.createStatement(); // 創建執行環境
28             stmt.execute(sql); // 執行SQL語句
29             // 讀取數據
30             rs = stmt.executeQuery(cmd); // 執行查詢語句,返回結果數據集
31             rs.last(); // 將光標移到結果數據集的最后一行,用來下面查詢共有多少行記錄
32             System.out.println("共有" + rs.getRow() + "行記錄:");
33             rs.beforeFirst(); // 將光標移到結果數據集的開頭
34             while (rs.next()) { // 循環讀取結果數據集中的所有記錄
35                 System.out.println(rs.getRow() + "、 學號:" + rs.getString("id")
36                         + "\t姓名:" + rs.getString("name") + "\t年齡:"
37                         + rs.getInt("age"));
38             }
39         } catch (ClassNotFoundException e) {
40             System.out.println("加載驅動異常");
41             e.printStackTrace();
42         } catch (SQLException e) {
43             System.out.println("數據庫異常");
44             e.printStackTrace();
45         } finally {
46             try {
47                 if (rs != null)
48                     rs.close(); // 關閉結果數據集
49                 if (stmt != null)
50                     stmt.close(); // 關閉執行環境
51                 if (conn != null)
52                     conn.close(); // 關閉數據庫連接
53             } catch (SQLException e) {
54                 e.printStackTrace();
55             }
56         }
57     }
58 
59 }

 

運行結果:

 

5、注意事項

(1) 在編譯運行源代碼時要先導入Connector/J的庫文件,否則會出錯。

(2) 運行時要確保MySQL數據庫服務已啟動,且源代碼的用戶名和密碼、端口、數據庫名、表名要與數據庫的一致,否則將拋出異常。

(3) 如果代碼中有不懂的地方可以參考一下:Java開發中JDBC連接數據庫代碼和步驟總結.


免責聲明!

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



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