1. 程式人生 > >JDBC操作資料庫基本步驟

JDBC操作資料庫基本步驟

轉自:http://jokerlinisty.iteye.com/blog/2198399

1、JDBC概念

    1)從物理結構:JDBC是Java語言訪問資料庫的一套介面(API)集合。

    2)從本質上:JDBC是呼叫者(開發人員)和實現者(資料庫廠商)之間的協議。

    3)JDBC的實現由資料庫廠商以驅動程式的形式提供。

    4)開發人員藉助JDBC的API,就可以使用純Java的方式來連線和操縱資料庫。 

2、JDBC常用介面和類簡介

    1)java.sql.Driver 介面: 代表驅動程式,每個驅動程式類必須實現的介面。

    2)java.sql.DriverManager 類:驅動程式管理類,管理一組 JDBC 驅動程式的基本服務。

    3)java.sql.Connection 介面:資料庫連線,用於與特定的資料庫連線。

    4)java.sql.Statement  介面:資料庫操作介面,用於執行靜態SQL語句並返回它所生成結果的物件。

    5)java.sql.PreparedStatement介面:資料庫操作介面,表示儲存預編譯SQL語句的物件,用於多次高效地執行該SQL語句。

    6)java.sql.CallableStatement介面:資料庫操作介面,用於執行SQL儲存過程的介面。

    7)java.sql.ResultSet 介面: 代表結果集的資料表,用於儲存查詢資料庫返回的結果。 

3、基本操作步驟如下:

    1)載入(註冊)資料庫驅動(到JVM)。

    2)建立(獲取)資料庫連線。

    3)建立(獲取)資料庫操作物件。

    4)定義操作的SQL語句。

    5)執行資料庫操作。

    6)獲取並操作結果集

    7)回收資料庫資源(關閉結果集-->關閉資料庫操作物件-->關閉連線)

 4、例項參考(以MySQL為例)

package com.brad.jdbc;  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.sql.Statement;  
  
public class JDBCTest {  
    /** 
     * 使用JDBC連線並操作mysql資料庫 
     */  
    public static void main(String[] args) {  
        // 資料庫驅動類名的字串  
        String driver = "com.mysql.jdbc.Driver";  
        // 資料庫連線串  
        String url = "jdbc:mysql://127.0.0.1:3306/jdbctest?useUnicode=true&characterEncoding=utf8";  
        // 使用者名稱  
        String username = "root";  
        // 密碼  
        String password = "123456";  
        Connection conn = null;  
        Statement stmt = null;  
        ResultSet rs = null;  
        try {  
            // 1、載入資料庫驅動( 成功載入後,會將Driver類的例項註冊到DriverManager類中)  
            Class.forName(driver );  
            // 2、獲取資料庫連線  
            conn = DriverManager.getConnection(url, username, password);  
            // 3、獲取資料庫操作物件  
            stmt = conn.createStatement();  
            // 4、定義操作的SQL語句  
            String sql = "select * from user where id = 100";  
            // 5、執行資料庫操作  
            rs = stmt.executeQuery(sql);  
            // 6、獲取並操作結果集  
            while (rs.next()) {  
                System.out.println(rs.getInt("id"));  
                System.out.println(rs.getString("name"));  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            // 7、關閉物件,回收資料庫資源  
            if (rs != null) { //關閉結果集物件  
                try {  
                    rs.close();  
                } catch (SQLException e) {  
                    e.printStackTrace();  
                }  
            }  
            if (stmt != null) { // 關閉資料庫操作物件  
                try {  
                    stmt.close();  
                } catch (SQLException e) {  
                    e.printStackTrace();  
                }  
            }  
            if (conn != null) { // 關閉資料庫連線物件  
                try {  
                    if (!conn.isClosed()) {  
                        conn.close();  
                    }  
                } catch (SQLException e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
    }  
}