JDBC学习笔记之JDBC简介
1. 引言
JDBC API是一種Java API,可以訪問任何類型的表格數據,特別是存儲在關系數據庫中的數據。
JDBC可以幫助我們編寫下列三種編程活動的java應用程序:
- 1.連接到數據源,如數據庫;
- 2.發送查詢和更新語句到數據庫;
- 3.檢索并處理從數據庫收到的結果以滿足我們的查詢要求。
以下簡單的代碼片段給出了以下三個步驟的簡單示例:
/** * A demo of JDBC * @param username : 數據源的登錄名 * @param password : 數據源的密碼 */ public void connectToAndQueryDatabase(String username, String password) {Connection con = DriverManager.getConnection("jdbc:myDriver:myDatabase",username,password);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");while (rs.next()) {int x = rs.getInt("a");String s = rs.getString("b");float f = rs.getFloat("c");} }這個很短的代碼片段十分簡單,實例化一個DriverManager對象,以連接到數據庫驅動程序并登錄到數據庫,該語句將sql語句查詢的對象實例化到數據庫中,實例化一個ResultSet檢索查詢結果的對象,并執行一個簡單的while循環,檢索并顯示這些結果。
2. JDBC產品組件
JDBC包括四個組件:
- JDBC-API - JDBC?API提供對Java?編程語言的關系數據的編程訪問。使用JDBC API,應用程序可以執行SQL語句,檢索結果,并將更改發送到底層數據源。此外,JDBC API還可以在分布式異構環境中與多個數據源進行交互。JDBC API是Java平臺的一部分,它包括Java?標準版(Java?SE)和Java?企業版(Java?EE)。在JDBC 4.0 API分為兩個包:java.sql和javax.sql,在Java SE和Java EE平臺均包含這兩個包。
- JDBC驅動程序管理器 - JDBC DriverManager類定義了一個對象,這個對象可以將java應用程序連接到jdbc驅動程序。從傳統上來看,DriverManager是整個JDBC體系結構的支柱。DriverManager不僅僅非常的小巧,而且非常簡潔。通過javax.naming和javax.sql這兩個標準擴展包,我們可以通過 java 命名和目錄接口? (jndi)命名服務來注冊對象去建立數據源的連接的方式去使用數據源。實際上,我們可以使用任何的連接機制,但數據源建議盡可能多地使用對象。
- JDBC測試套件 - 這些測試也許不是十分的全面和詳盡,但是在JDBC API中執行了很多重要的功能。
- JDBC-ODBC Bridge - Java軟件橋接可以通過ODBC驅動程序提供JDBC訪問。但是需要注意的是,我們需要在使用此驅動程序的每臺客戶端計算機上加載ODBC二進制代碼。因此,ODBC驅動程序最適合于客戶端安裝不是主要問題的公司網絡,或者是以三層架構中的Java編寫的應用程序服務器代碼。
我們可以使用四個JDBC組件中前兩個連接到數據庫,然后構建一個Java程序,使用SQL命令去聯系和測試關系型數據庫。最后兩個組件是在一個特定的環境中使用,用于測試Web應用或者是與基于ODBC的DBMS(Database Management System)的通信。
3. JDBC架構
3.1 兩層和三層處理模型
圖1:數據訪問的兩層架構
在兩層模型中,Java Applet或應用程序直接與數據源進行交互。因此我們需要一個JDBC驅動程序,它可以與被訪問的指定的數據源通信,能將用戶的命令傳遞給數據庫或者其他的數據源,并且將這些命令的執行結果返回給用戶,而這個數據源可能是用戶通過網絡連接的另外一臺計算機上,這種配置方式被稱為client/server配置方式。在這種配置方式中,用戶的計算機作為客戶端,而數據源所在的計算機作為服務端,用于通信的網絡可以是可以是內聯網,例如連接公司內的員工,也可以是互聯網。
圖2:數據訪問的三層架構
在三層模型中,命令被發送到服務的“中間層”,然后將命令發送到數據源,數據源處理命令并將結果發送回中間層,然后將其發送給用戶。三層模型具有很多優勢,首先中間層可以保持訪問的控制和公司數據類型的更新,然后簡化了應用程序的部署,最后,在許多情況下,三層架構可以提供性能優勢。
3.2 JDBC API支持數據庫訪問的兩層和三層處理模型
直到最近,中間層經常用C或C ++等語言編寫,提供快速的性能。然而,隨著將Java字節碼轉換為特定機器的代碼和技術(如Enterprise JavaBeans?)的編譯器不斷得到優化,Java平臺憑借Java的強大、多線程和安全等優勢正在迅速成為中間層開發的標準平臺。
隨著越來越多的企業越來越多地使用Java編程語言來編寫服務器代碼,JDBC API正在三層架構的中間層中越來越多地被使用,其對連接池、分布式事務和斷開連接的行集合的支持這使JDBC成為服務器技術。當然,JDBC API也是允許從Java中間層訪問數據源的。
4. 聲明
本文翻譯自oracle官網并做了部分調整以便于理解,更多信息請訪問原文。
轉載于:https://www.cnblogs.com/xiao2/p/7193402.html
總結
以上是生活随笔為你收集整理的JDBC学习笔记之JDBC简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DB2 8.2 9.1 9.5 9.7
- 下一篇: 强制将IE8设置为IE7兼容模式来解析网