編寫存取資料庫的Java程式還需要幾個重要的類別和介面。
DriverManager類
DriverManager類別處理驅動程式的載入和建立新資料庫連線。 DriverManager是java.sql套件中用來管理資料庫驅動程式的類別。通常,應用程式只使用類別DriverManager的getConnection()靜態方法,用來建立與資料庫的連接,並傳回Connection物件:
static Connection getConnection(String url,String username,String password)
指定資料的URL使用者名稱和密碼建立資料庫連線物件。 url的語法格式是:
jdbc:<資料庫的連線機制>:<ODBC資料庫名稱>。
Connection類
Connection類別是java.sql套件中用來處理與特定資料庫連線的類別。 Connection對像是用來表示資料庫連線的對象,Java程式對資料庫的操作都在這種對像上進行。 Connection類別的主要方法有:
Statement類
Statement類別是java.sql套件中用於在指定的連線中處理SQL語句的類別。資料庫程式設計的要點是在程式中嵌入SQL指令。程式需要聲明和建立連接資料庫的Connection對象,並讓該對象連接資料庫。呼叫類別DriverManager的靜態方法getConnection()取得Connection對象,實作程式與資料庫的連。然後,用Statement類別宣告SQL語句對象,並呼叫Connection對象的createStatement()方法,建立SQL語句物件。例如,以下程式碼建立語句物件sql:
Statement sql = null; try{ sql = con.createStatement(); }catch(SQLException e){}
ResultSet類
有了SQL語句物件後,呼叫語句物件的方法executeQuery()執行SQL查詢,並將查詢結果存放在一個用ResultSet類別宣告的物件中,例如,以下程式碼讀取學生成績表存於rs 物件中:
ResultSet rs = sql.executeQuery(“SELECT * FROM ksInfo”);
ResultSet物件其實是一個由查詢結果資料的表,是一個管式資料集,由統一形式的資料行組成,一行對應一條查詢記錄。在ResultSet物件中隱含著一個遊標,一次只能取得遊標目前所指的資料行,用next方法可取下一個資料行。以資料行的欄位(列)名稱或位置索引(自1開始)呼叫形如getXXX()方法取得記錄的欄位植。以下是ResultSet物件的部分方法:
以上方法中的columnIndex是位置索引,用於指定字段,columnName是字段名稱。
使用者需要在查詢結果集上瀏覽,或前後移動、或顯示結果集的指定記錄,稱為可捲動結果集。程式要取得一個可捲動結果集,只要在取得SQL的語句物件時,增加指定結果集的兩個參數即可。例如,以下程式碼:
州 stmt = con.createStatement(type,concurrency); ResultSet rs = stmt.executeQuery(SQL語句)
語句物件stmt的SQL查詢就能得到對應類型的結果集。
int 型參數type決定可滾動集的捲動方式:
int 型參數concurrency決定資料庫是否與可捲動集同步更新:
例如,以下程式碼利用連線物件connect,建立Statement物件stmt,指定結果集可捲動,並以唯讀方式讀取資料庫:
stmt = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
可捲動集上另外一些常用的方法如下: