JDBC的使用(2)

完成與數據庫相關的操作,需要執行以下幾步:

第1步:導入於SQL相關的包
導入java.sql.*或者javax.sql.*.
例如:import java.sql.Connection;
         import java.sql.Statement;

第2步:加載JDBC驅動程序
根據不同的數據庫加載對應的驅動程序。加載完數據庫驅動程序類後,驅動程序會自動通過DriverManager.registerDriver()方法註冊。
常見驅動類名:
MySQL—com.mysql.jdbc.Driver
SQL Server—com.microsoft.sqlserver.jdbc.SQLServerDriver
Oracle—oracle.jdbc.driver.OracleDriver

第3部:提供連接URL
連接URL定義了連接數據庫時的協議、子協議、數據源識別,形式爲:“協議:子協議:數據源識別”;“協議”在JDBC中總是以“jdbc”開始;“子協議”是橋接的驅動程序或者數據庫管理系統名稱,如果使用MySQL的話是“mysql”;“數據源識別”標出找出數據庫來源的地址與連接接口。
MySQL的連接URL編寫格式爲:jdbc:mysql://主機名稱:連接端口/數據庫名稱? 參數=值&參數=值
例如:jdbc:mysql://localhost:3306/test?user=root&password=123&useUnicode=true&characterEncoding=UTF-8
Oracle的連接URL編寫格式:
jdbc:oracle:thin:@localhost:1521:sid
SQL Server的連接URL編寫格式爲:
jdbc:sqlserver://localhost:1433:Databasename=BOOK

第4步:建立一個數據庫連接
要連接數據庫,可以向java.sql.DriverManager要求並獲得一個java.sql.Connection對象。Connection是數據庫連接的具體代表對象,一個Connection對象就代表一個數據庫連接,可以使用DriverManager的getConnection()方法傳入指定的連接URL、用戶名和密碼來獲得;java.sql.SQLException是處理JDBC時經常遇到的一個受檢查異常對象。

第5步:創建一個Statemen對象
要執行SQL語句,必須獲得java.sql.Statementduixiang,它是java中一個SQL敘述的具體代表對象。
如:
Statement state = conn.createStatement();

第6步:執行SQL語句
獲得Statement對象之後,可以使用Statement對象的一下方法來執行SQL。
(1)int executeUpdate(String sql):執行改變數據庫內容的SQL,例如insert、delete、update、create table、drop table等語句,返回該操作影響到的記錄數。
(2)java.sql.ResultSet executeQuery(String sql):執行查詢數據庫的SQL,如select語句,返貨查詢到的結果集ResultSet對象。
例如:
int rows = stmt.executeUpdate(“insert into…”);
ResultSet set = stmt.executeQuery(“select * from table_name”);

第7步:處理結果
執行更新返回的結果是本次操作影響到的記錄數。執行查詢返回的結果是一個ResultSet對象。ResultSet是數據庫結果集的數據表。ResultSet對象具有指向當前數據行的光標。最初,光標被置於第一行之前。可以使用ResultSet的next()方法移動光標到下一行,它會返回true或者false表示是否有下一行記錄。ResultSet對象有兩種方式可以從當前行獲取指定的列的值。
getXXX(int columnIndex):使用列索引獲取值。列從1開始編號
getXXX(String columnLabel):使用列的名稱獲取值。

第8步:關閉JDBC對象
操作完成後需要把所使用的JDBC對象全部顯示關閉,以釋放JDBC資源。
調用ResultSet的close()方法
調用Statement的close()方法
調用Connection的close()方法

import java.sql.*;

/**
*
* @author Administrator
*/
public class TestJDBC {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO coe application logic here
        String url = "jdbc:mysql://localhost:3306/factory";
        String user = "root";
        String password = "***"; 

        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
            System.out.println(e.toString());
        } 

        try{
            Connection con = java.sql.DriverManager.getConnection(url, user, password);
            Statement myOperator = con.createStatement();
            ResultSet result =myOperator.executeQuery("select * from employee"); 
            while(result.next()){
                System.out.println(result.getString(1)+"/t"+result.getString(2)+"/t"+result.getString(3)+"/t"+result.getString(4));
            }
        }catch(java.sql.SQLException esql){
            System.out.println(esql.toString());
        } 
  }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章