JDBC編程模型

爲支持Java程序的數據庫操作功能,Java語言採用了專門的數據庫編程接口,用於在Java程序中實現數據庫操作功能並簡化操作過程。JDBC支持基本的SQL語句,提供多樣化的數據庫連接方式。

首先需要解釋幾個概念:
1.URL
JDBC技術使用數據庫URL來標識目標數據庫。其性質和標識常規網絡資源的URL類似,主要由”協議名”,”子協議名”和”子名稱”三部分組成,具體語法格式如下:
jdbc:<子協議名>:<子名稱>

jdbc:mysql://localhost:3306/yaoyao  --連接本地mysql下的數據庫
jdbc:oracle:thin:@166.111.78.98:1521:orcl 
子協議名規定數據庫及連接方式
子名稱規定IP地址,端口號,數據庫實例名等

2.JDBC驅動
數據庫驅動程序(Driver)可使數據庫開展工作,以實現數據庫的功能。
JDBC驅動程序分爲四類:
1>JDBC-ODBC橋
利用ODBC驅動程序實現JDBC功能,該驅動程序把標準的JDBC調用轉換成對應的ODBC調用,再由ODBC數據庫源調用數據庫本地驅動程序。
2>Java到本地API
3>Java到網絡協議
4>Java到數據庫協議

package cn.edu.hdu.mysql;

import java.sql.*;

public class Test {
    public static void main(String args[]) throws SQLException{

        //驅動程序名
        String driver = "com.mysql.jdbc.Driver";
        //URL
        String url = "jdbc:mysql://localhost:3306/yaoyao";
        //MySQL設置用戶名
        String user = "root";
        //MySQL配置時的密碼
        String password = "root";


        try{

            //加載驅動


Class.forName   (driver);
                  並返回一個connection對象一個connection對象
            Connection conn = DriverManager.getConnection(url,user,password);

            if(!conn.isClosed()) 
                 System.out.println("Succeeded connecting to 

atabase!");


            //使用statement對象執行SQL操作
            Statement stmt = conn.createStatement();
            String sql = "select * from 常住人口信息  where 所屬街道=='五常街道';
            //使用statement對象的executeQuery()方法執行SELECT語句
            //使用statement對象的executeUpdate()方法執行INSERT,UPDATE,DELETE語句
            //使用statement對象的execute()方法,執行CREATE或者DROP語句。

            ResultSet rs = stmt.executeQuery(sql);

            System.out.println("執行結果如下所示:");

            while(rs.next()){
                int ID = Integer.parseInt(rs.getString("ID"));
                String sex = rs.getString("性別");
                String birth = rs.getString("出生日期");
                String number = rs.getString("戶號");     
                System.out.println(ID+"性別:"+sex+"出生日期:"+birth+"戶號"+number);
            }

            rs.close();
//關閉結果集
            stmt.close();
//關閉statement對象
            conn.close();
//關閉connection對象

        }catch(ClassNotFoundException e){

        }

    }
}

executeQuery()方法的返回值類型ResultSet是JDBC編程中最常使用的數據結構,它以行的形式包含。特別說明:一個Statement對象不能同時維護多個查詢結果集(ResultSet對象),當我們調用其方法時,該Statement對象當前打開的結果集將被自動關閉,這意味着在繼續利用Statement對象執行其他SQL語句之前,應該完成前數據集的處理。當有需要使用多個結果集,則應該創建前數據集的處理。當有需要使用多個結果集,則應該創建多個Satement對象。**對當前數據集的處理。當有需要使用多個結果集,則應該創建多個Statement對象。

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