国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用WebRowSet完成JDBC的大部分任務

2019-11-18 15:26:33
字體:
來源:轉載
供稿:網友

摘要:

    在這篇文章中,我首先將簡要解釋它的繼續層次結構,緊接著,我會使用一個例子演示如何利用javax.sql.rowset.WebRowSet接口的特征非常輕易地將數據庫中的數據轉化為xml文件,或者相反操作。然后我會討論這個接口的利弊。在以上解釋的基礎上,我會總結一些首選這個接口的情況。

    任何現實世界中的企業級應用都需要訪問持久化存儲。關系型數據庫治理系統(RDBMS)是使用最廣泛的持久化存儲機制,它支持使用SQL進行數據查詢和更新。JDBC(Java DataBase Connectivity)是一系列的API,這些API為Java程序提供了一個使用SQL查詢和更新RDBMS的框架。

    通過Java程序從數據庫中獲取數據或者更新數據庫的過程包含了多個步驟。首先,程序需要建立一個連接,它可以和目標數據庫進行通信。我們可以通過幾種不同的方法建立數據庫連接。傳統的方式是,Java程序在裝載了制造商提供的JDBC驅動后,調用java.sql.DriverManager類中適當的getConnection()方法獲得連接。另外一個(也是首選的)方式是,使用制造商提供的實現或者編寫一個針對目標數據庫的實現了javax.sql.Connection接口的自定義類進行連接對象的初始化。在更多的受約束環境中,例如Java EE容器,提供了使用JNDI(Java Naming and Directory Interface)查找獲得數據庫連接的方式。無論程序使用哪一種方式建立數據庫連接,假如連接成功,它應該有一個對java.sql.Connection接口實例的引用。通過連接,程序創建一個java.sql.Statement實例,或者一個包含數據庫查詢的子接口。最后,程序執行這個語句,獲得一個java.sql.ResultSet實例,它表示從數據庫中獲得的滿足查詢的實際數據。

    在寫這篇文章時,JDK5.0是支持JDBC3.0的Java最新版本。JDBC3.0提供了一些特征,增加了數據操作和轉換的易用性和適應性。

    在這篇文章中,我首先將簡要解釋它的繼續層次結構,緊接著,我會使用一個例子演示如何利用javax.sql.rowset.WebRowSet接口的特征非常輕易地將數據庫中的數據轉化為XML文件,或者相反操作。然后我會討論這個接口的利弊。在以上解釋的基礎上,我會總結一些首選這個接口的情況。

版權聲明:任何獲得Matrix授權的網站,轉載時請務必保留以下作者信息和鏈接
作者:Sharad Acharya;mydeman
原文:http://www.onjava.com/pub/a/onjava/2006/06/21/making-most-of-jdbc-with-webrowset.Html
Matrix:http://www.matrix.org.cn/resource/article/44/44626_WebRowSet.html
要害字:WebRowSet;JDBC

WebRowSet層次結構

    我們開始先對WebRowSet接口的繼續層次結構作一個簡要的解釋。圖1顯示了相關的Java元素(包、接口和類),它們也是討論的一部分。

使用WebRowSet完成JDBC的大部分任務
圖1 WebRowSet的繼續層次結構

    繼續層次結構的根部是java.sql.ResultSet接口。這個接口的實例代表表格式的數據,這些數據通過執行包含對底層數據庫查詢的java.sql.Statement獲取。默認的結果集只能前向遍歷,并且不能更新。你不可能通過遍歷默認結果集的方式進行精確的控制。
    那么,你有哪些選擇呢?這就依靠于你要對結果集進行什么操作。例如,假如你想結果集支持適合于JavaBeans組件模型的JDBC API,就需要使用java.sql.ResultSet的子接口javax.sql.RowSet。

    因為Java程序訪問數據庫是一個重量級操作,所以內存中的數據高速緩存就是一個關系應用程序性能的要害因素。假如你想結果集作為一個行數據的容器緩存在內存中,那么你可以使用javax.sql.rowset.CachedRowSet,它是javax.sql.RowSet的子接口。這個接口的實例提供了不用一直保持連接數據源而操作數據的能力。更進一步,它是可滾動、可更新和可序列化的。除數據庫以外,它可以對其它表格式結構的數據源起作用,如電子數據表。

    假如除了迄今為止提到的所有特征,你還要將結果集輸出到XML和使用有效的XML作為輸入,請選擇javax.sql.rowset.WebRowSet.。在Sun的參考實現類中已經提供了它的實例的一個實現,com.sun.rowset.WebRowSetImpl,并作為JDK5.0的一部分發行。

    在層次結構的底部是javax.sql.rowset.JoinRowSet,javax.sql.rowset.WebRowSet的子接口,它提供了聯合多個相關結果集對象的方式,就像對底層數據庫表構造的SQL JOIN。

使用簡單結果集

    伴隨上面的介紹給你留下的印象,我向你展示一個簡單的例子。這篇文章的所有例子開發環境都是Eclipse3.1.0,JDK5.0、Windows xp上的Oracle10.2。示例代碼和輸出文件參見資源部分。
我們考慮一個簡單的student表,它定義了四列來存儲信息。接下來的表格顯示了查詢該表獲得的結果。
SQL>select * from student;

ID        FNAME        LNAME        AGE
200        Jack        Dakota        21
100        John        Doe        26



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浙江省| 云浮市| 闵行区| 沛县| 商城县| 衡阳市| 平安县| 宜昌市| 温州市| 新绛县| 怀仁县| 武义县| 鄂州市| 海林市| 衡阳市| 上杭县| 休宁县| 沧州市| 修武县| 高安市| 峡江县| 博客| 敦化市| 耒阳市| 刚察县| 宜川县| 吉首市| 张掖市| 思南县| 阆中市| 贵港市| 明星| 神农架林区| 商南县| 蒙阴县| 崇左市| 苍梧县| 绍兴市| 谢通门县| 房山区| 武功县|