精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

教你使用Java中的RowSet

開發 后端
ResultSet是使用Jdbc編程的人入門和常用的操作數據庫的類,自 JDK 1.4 開始,易于使用RowSet接口被引入。RowSet 接口擴展了標準 java.sql.ResultSet 接口。

ResultSet是使用Jdbc編程的人入門和常用的操作數據庫的類,自 JDK 1.4 開始,易于使用RowSet接口被引入。RowSet 接口擴展了標準 java.sql.ResultSet 接口。RowSetMetaData 接口擴展了 java.sql.ResultSetMetaData 接口。因此,熟悉 JDBC API 的開發人員必須學習少數幾個新 API 才能使用 rowset。此外,與 JDBC ResultSet 對象配套使用的第三方軟件工具也可以方便地用于 rowset。但是在JDK 1.4中,只有一個RowSet接口,使得RowSet的使用范圍打了折扣。不過 JDK 5.0 定義了5 個標準的 JDBC RowSet 接口,并且給出了相應的參考實現,因此可以很方便的使用RowSet接口所提供的功能。

RowSet 對象可以建立一個與數據源的連接并在其整個生命周期中維持該連接,在此情況下,該對象被稱為連接的 rowset。rowset 還可以建立一個與數據源的連接,從其獲取數據,然后關閉它。這種 rowset 被稱為非連接 rowset。非連接 rowset 可以在斷開時更改其數據,然后將這些更改發送回原始數據源,不過它必須重新建立連接才能完成此操作。 相比較 java.sql.ResultSet 而言,RowSet 的離線操作能夠有效的利用計算機越來越充足的內存,減輕數據庫服務器的負擔,由于數據操作都是在內存中進行然后批量提交到數據源,靈活性和性能都有了很大的提高。RowSet 默認是一個可滾動,可更新,可序列化的結果集,而且它作為 JavaBeans,可以方便地在網絡間傳輸,用于兩端的數據同步。

1、與ResultSet比較

(1)RowSet擴展了ResultSet接口,因此可以像使用ResultSet一樣使用RowSet。

(2)RowSet擴展了ResultSet接口,因此功能比ResultSet更多、更豐富。

(3)默認情況下,所有 RowSet 對象都是可滾動的和可更新的。而ResultSet是只能向前滾動和只讀的。

(4)RowSet可以是非鏈接的,而ResultSet是連接的。因此利用CacheRowSet接口可以離線操作數據。

(5)RowSet接口添加了對 JavaBeans 組件模型的 JDBC API 支持。rowset 可用作可視化 Bean 開發環境中的 JavaBeans 組件。

(6)RowSet采用了新的連接數據庫的方法。

(7)CacheRowSet是可以序列化的。

(8)RowSet和ResultSet都代表一行行的數據、屬性以及相關操作方法。

(9)自己認為,應該傾向于把RowSet看成是與數據庫無關的東西,它只是一個代表一行行數據的對象,而ResultSet則是一個與數據庫緊密聯系的東西。

2、JDK 5.0 的5個標準RowSet接口

在JDK 5.0中,5個標準RowSet接口包括 CachedRowSet,WebRowSet,FilteredRowSet,JoinRowSet 和 JdbcRowSet。相應的參考實現是Sun公司給出的,位于com.sun.rowset包下,分別為為CachedRowSetImpl,WebRowSetImpl,FilteredRowSetImpl,JoinRowSetImpl 和 JdbcRowSetImpl。這5個標準接口中JdbcRowSet是鏈接的rowset,而其他4個是非鏈接的rowset。

(1)CachedRowSet:最常用的一種 RowSet。其他三種 RowSet(WebRowSet,FilteredRowSet,JoinRowSet)都是直接或間接繼承于它并進行了擴展。它提供了對數據庫的離線操作,可以將數據讀取到內存中進行增刪改查,再同步到數據源。CachedRowSet是可滾動的、可更新的、可序列化,可作為 JavaBeans 在網絡間傳輸。支持事件監聽,分頁等特性。 CachedRowSet 對象通常包含取自結果集的多個行,但是也可包含任何取自表格式文件(如電子表格)的行。

(2)WebRowSet:繼承自 CachedRowSet,并可以將 WebRowSet 寫到 XML 文件中,也可以用符合規范的 XML 文件來填充 WebRowSet。

(3)FilteredRowSet:通過設置 Predicate(在 javax.sql.rowset 包中),提供數據過濾的功能。可以根據不同的條件對 RowSet 中的數據進行篩選和過濾。

(4)JoinRowSet:提供類似 SQL JOIN 的功能,將不同的 RowSet 中的數據組合起來。目前在 Java 6 中只支持內聯(Inner Join)。

(5)JdbcRowSet:對 ResultSet 的一個封裝,使其能夠作為 JavaBeans 被使用,是***一個保持數據庫連接的 RowSet。JdbcRowSet 對象是連接的 RowSet 對象,也就是說,它必須使用啟用 JDBC 技術的驅動程序(“JDBC 驅動程序”)來持續維持它與數據源的連接。

3、填充RowSet

前面說過,應該傾向于把RowSet看成是與數據庫無關而只代表一行行數據的對象,因此就涉及到數據從哪里來的問題。

(1)從數據庫直接獲取數據

由于大部分情況下,與數據打交道也就是與數據庫打交道,因此RowSet接口提供了通過JDBC直接從數據庫獲取數據的方法,以參考實現JdbcRowSetImpl為例,就是這樣:

   RowSet rs = new JdbcRowSetImpl(); //也可以是CachedRowSetImpl,WebRowSetImpl,FilteredRowSetImpl,JoinRowSetImpl。
   rs.setUrl("jdbc:mysql:///test");
   rs.setUsername("root");
   rs.setPassword("");
   rs.setCommand("SELECT * FROM EMPLOYEES");
   rs.execute();

設置好相關屬性,運行execute()方法后,EMPLOYEES表中的數據就被填充到rs對象中了。
除了通過設置JDBC連接URL、用戶名和密碼外,RowSet也可以使用數據源名稱屬性的值來查找已經在命名服務中注冊的 DataSource 對象。完成檢索后,可以使用 DataSource 對象創建到它所表示的數據源的連接,設置數據源名稱可以使用setDataSourceName()方法。

(2)用ResultSet填充

在有現成ResultSet的情況下,如果想將其作為RowSet使用;或者當 DBMS 不提供對滾動和更新的完全支持時,如果想使不可滾動和只讀的 ResultSet 對象變得可滾動和可更新,可以創建一個使用該 ResultSet 對象的數據所填充的 CachedRowSet 對象。

ResultSet rs = stmt.executeQuery("SELECT * FROM EMPLOYEES");
   CachedRowSet crs = new CachedRowSetImpl(); //也可以是WebRowSetImpl,FilteredRowSetImpl,JoinRowSetImpl,因為他們均繼承自CachedRowSetImpl
   crs.populate(rs);

運行populate()方法后,ResultSet對象rs中的數據就被填充到crs對象中了。

(3)用XML填充

如果您打算將XML作為數據交換格式在客戶端和你的服務器之間傳輸數據并且向實現數據離線編輯、或者向使用XML格式的數據的話,可以使用WebRowSet接口來用XML填充數據。

   WebRowSet wrs = new WebRowSetImpl();
   wrs.readXml(new FileReader(new File("D:\\employees.xml")));

運行readXml()方法后,employees.xml文件的數據就被填充到wrs對象中了。employees.xml 文件的格式參見附錄。

(4)用其他方法填充

如果形用其他方式填充,比如csv、excel、text、http等格式或方法填充數據,那么就需要自己編寫代碼實現RowSet。

4、操作RowSet中的數據及元數據

除了ResultSet提供的操作數據和元數據方法外,RowSet接口沒有提供太多額外的方法。

1)更新數據
   rs.absolute(5);
   rs.updateInt(1, 10);
   rs.updateInt(2, 1000);
   rs.updateString(3, "John");
   rs.updateRow();

(2)插入數據
   rs.moveToInsertRow();
   rs.updateInt(1, 10);
   rs.updateInt(2, 1000);
   rs.updateString(3, "John");
   rs.insertRow();

(3)刪除數據
   rs.absolute(5);
   rs.deleteRow();

(4)設置屬性
   rs.setCommand("select id, salary, name from employees where id = ?");
   rs.setInt(1, 1);
   rs.execute();

(5)元數據
   RowSetMetaData rsmd = (RowSetMetaData)rs.getMetaData();
   int count = rsmd.getColumnCount();
   int type = rsmd.getColumnType(2);
   
5、事務與更新底層數據源

RowSet本身只代表具體數據,事務以及底層數據源的更新是與底層數據源密切相關的概念。對于JDBC數據源,相應的標準接口JdbcRowSet通過與數據庫相關的方法來來實現,如commit(),rollback()等。對于標準接口的中非連接rowset,如CachedRowSet,則在對RowSet中的數據改動后,通過運行acceptChanges()方法,在內部調用 RowSet 對象的 writer 將這些更改寫入數據源,從而將 CachedRowSet 對象中的更改傳播回底層數據源。

6、可序列化非連接RowSet

使用 CachedRowSet 對象的主要原因之一是要在應用程序的不同組件之間傳遞數據。因為 CachedRowSet 對象是可序列化的,所以可使用它(舉例來說)將運行于服務器環境的企業 JavaBeans 組件執行查詢的結果通過網絡發送到運行于 web 瀏覽器的客戶端。

由于 CachedRowSet 對象是非連接的,所以和具有相同數據的 ResultSet 對象相比更為簡潔。因此,它特別適于向瘦客戶端(如 PDA)發送數據,這種瘦客戶端由于資源限制或安全考慮而不適于使用 JDBC 驅動程序。所以 CachedRowSet 對象可提供一種“獲取各行”的方式而無需實現全部 JDBC API。

ebRowSet繼承自CachedRowSet,除了擁有CachedRowSet的優點外,還可以將WebRowSet輸出成XML,也可以將XML轉換成WebRowSet,更加適合在Web環境中使用。標準的 WebRowSet XML 模式定義位于 URI http://java.sun.com/xml/ns/jdbc/webrowset.xsd。將WebRowSet保存為XML的代碼事例如下:

   wrs.setCommand("select id, salary, name from employees");
   wrs.execute();  
   wrs.writeXml(new FileWriter(new File("D:\\employees.xml")));

【編輯推薦】

  1. Java中使用FileFilter方法搜索文件
  2. JavaOne 2009第三天:微軟與Sun/Oracle攜手并進
  3. Java新手進階:細說引用類型
責任編輯:王觀 來源: Java學習室
相關推薦

2012-11-09 14:47:07

2015-03-10 13:43:00

JavaSocket編程編程

2022-04-06 07:32:41

Java運算符變量

2009-06-26 10:32:00

QBC查詢Hibernate

2009-09-02 14:59:35

Comparable接

2011-03-04 12:18:24

FileZilla

2021-12-06 10:21:50

LinuxDNS 查詢

2009-11-05 10:13:39

WCF框架

2021-05-11 00:08:00

JavaRMI 分布式

2021-08-31 08:01:40

STM32DSP指令

2016-09-18 16:58:09

JavaProperties

2009-04-27 09:41:01

C#WPFTemplate

2021-12-29 15:02:48

Linux清空文件

2011-04-27 16:38:31

投影機

2021-07-14 09:00:00

JavaFX開發應用

2011-05-09 19:57:11

打印機使用技巧

2009-06-16 09:06:37

JavaMailJSP

2009-12-08 10:50:36

Windows 7使用

2019-09-30 10:51:11

Markdown標記語言

2025-05-07 00:31:30

點贊
收藏

51CTO技術棧公眾號

色94色欧美sute亚洲13| 高清免费成人av| 在线观看日韩www视频免费| 宅男噜噜噜66国产免费观看| 午夜看片在线免费| 国产a精品视频| 欧美亚洲另类在线| 天堂av网手机版| www.久久东京| 欧美性videosxxxxx| 日本精品福利视频| 飘雪影院手机免费高清版在线观看 | av永久免费观看| 精品中文字幕一区二区三区| 欧美天堂在线观看| 浴室偷拍美女洗澡456在线| 亚洲av成人无码久久精品老人| 日日夜夜免费精品视频| 欧美丰满片xxx777| 萌白酱视频在线| 日韩av午夜| 日韩视频在线你懂得| 亚州精品一二三区| 九色porny丨首页入口在线| 中文字幕一区在线观看| 鲁丝片一区二区三区| 国内精品偷拍视频| 奇米影视一区二区三区| 97香蕉超级碰碰久久免费的优势| 九九精品视频免费| 欧美裸体在线版观看完整版| 亚洲国产精品成人av| 五月天婷婷在线观看视频| 亚洲精品福利电影| 性久久久久久久久| 国产资源第一页| 天堂中文8资源在线8| 久久人人超碰精品| 国产精品入口免费| 国内老熟妇对白hdxxxx| 激情综合网av| 成人h片在线播放免费网站| www毛片com| 国产视频一区在线观看一区免费| 欧美日韩国产va另类| 777777国产7777777| 99精品视频播放| 一级日韩一级欧美| 日韩成人免费电影| 欧美最猛性xxxxx免费| 国产 日韩 欧美 成人| 欧美激情成人在线| 欧美情侣性视频| 青娱乐国产盛宴| 欧美成人午夜| 欧美黄网免费在线观看| 欧美三级黄色大片| 中文字幕日韩欧美精品高清在线| 久久久999成人| 内射一区二区三区| 一区二区三区四区电影| 色综合影院在线| 99久久精品久久亚洲精品| av永久不卡| 日韩一区二区欧美| 欧美激情精品久久久久久免费| 98精品久久久久久久| xxxxx成人.com| 成熟的女同志hd| 欧美午夜久久| 午夜精品久久久久久久久久久久久| 国产精品99无码一区二区| 亚洲美女一区| 欧美在线www| 亚洲永久精品一区| 麻豆精品在线看| 亚洲aa中文字幕| 欧美一级视频免费| 久久久久久久电影| 亚洲精品影院| 天堂av中文在线| 午夜婷婷国产麻豆精品| 无遮挡又爽又刺激的视频| 国产成人免费9x9x人网站视频| 欧美视频在线一区二区三区| 亚洲综合伊人久久| 国产美女裸体无遮挡免费视频| 日韩精品第二页| 91麻豆精品国产91久久久久久久久| 肉色超薄丝袜脚交| 成人香蕉社区| 亚洲免费电影在线观看| 91香蕉国产视频| 欧美午夜电影在线观看| 国产成人涩涩涩视频在线观看| 在线观看亚洲国产| 成人h动漫精品一区二| 日日夜夜精品网站| 欧美1—12sexvideos| 91国产成人在线| 中文字幕乱视频| 精品国产乱码久久久久久果冻传媒| 久久成年人视频| 久久精品视频7| 国产成人精品免费在线| 日韩精彩视频| 欧美人与性动交α欧美精品济南到 | 日本午夜小视频| 免费看欧美美女黄的网站| 电影午夜精品一区二区三区| eeuss影院www在线观看| 午夜影视日本亚洲欧洲精品| 一级片视频免费观看| 精品五月天堂| 欧美成人一区在线| 欧美另类高清videos的特点| a亚洲天堂av| 欧美h视频在线观看| 欧美极品影院| 亚洲精品suv精品一区二区| 日韩在线不卡av| 日韩精品久久久久久| 91久久国产精品91久久性色| 免费观看成年在线视频网站| 亚洲五月六月丁香激情| 色婷婷综合在线观看| 欧美天天综合| 日韩av黄色在线观看| 深爱激情五月婷婷| 亚洲激情综合网| 网站在线你懂的| 日本一区二区在线看| 日韩免费中文字幕| 四虎影院在线播放| 亚洲宅男天堂在线观看无病毒| 天天干天天操天天做| 精品久久久久久久久久久aⅴ| 性欧美xxxx交| 精品乱子伦一区二区| 国产精品不卡在线| 日本黄大片一区二区三区| 精品国产一区一区二区三亚瑟 | 97精品超碰一区二区三区| 少妇大叫太大太粗太爽了a片小说| 亚洲日韩中文字幕一区| 日韩在线视频免费观看高清中文 | 91精品国产综合久久久久久久| 国产成人福利在线| 天堂久久一区二区三区| 欧美日韩一区综合| 国产一级免费av| 日日夜夜天天综合入口| 色乱码一区二区三区88| 中文字幕日韩三级片| 日韩视频中文| 免费日韩av电影| 欧美成人a交片免费看| 亚洲区免费影片| 一级片在线免费播放| 中文一区二区完整视频在线观看| 国产精品人人爽人人爽| 精品国产一区二区三区四区| 国产精品欧美风情| 免费网站成人| 欧美一区二区三区在| 麻豆亚洲av成人无码久久精品| 国产成人在线网站| 青青草国产精品视频| 日韩福利视频一区| 日本欧美爱爱爱| 在线观看的av| 日韩一区和二区| 精品无码m3u8在线观看| 91免费观看在线| 日本999视频| 欧美激情另类| 国产精品制服诱惑| 国产免费不卡| 日韩视频免费中文字幕| 国内精品久久久久久久久久| 精品人伦一区二区三区蜜桃免费| 阿v天堂2014| 国产精品正在播放| 国产精品丝袜久久久久久消防器材| 精品视频国产| 91性高湖久久久久久久久_久久99| 欧美videos另类精品| 国产视频久久久| 国产又大又长又粗| 午夜视频久久久久久| 人妻一区二区视频| 国产精品一区专区| 毛片av免费在线观看| 91精品天堂福利在线观看| 国产伦精品一区二区| 日本少妇一区| 欧美精品激情在线| 国产女主播在线直播| 日韩视频国产视频| 波多野结衣电影在线播放| 尤物视频一区二区| 免费黄色片网站| 不卡av在线网| 国产大片一区二区三区| 麻豆久久婷婷| 全黄性性激高免费视频| 欧美国产美女| 欧美日韩在线高清| 国产另类在线| 成人在线中文字幕| 日韩高清在线| 69视频在线播放| 午夜激情在线| 久久精品一偷一偷国产| 精品久久av| 亚洲国产精品中文| 精品国产一级片| 欧美精品久久一区二区三区| 亚洲乱码国产乱码精品| 午夜精品国产更新| 极品盗摄国产盗摄合集| 中文欧美字幕免费| 日韩在线免费观看av| 99免费精品在线| 日本精品一二三区| 国产精品一二二区| 三级性生活视频| 美女网站在线免费欧美精品| 成人免费观看毛片| 销魂美女一区二区三区视频在线| 免费高清一区二区三区| 欧美久久一级| 男人天堂网站在线| 中文在线播放一区二区 | 四虎精品成人影院观看地址| 精品国产亚洲在线| 丰满人妻熟女aⅴ一区| 日韩一区二区精品| 99久久精品免费看国产交换| 欧美日韩美女一区二区| 中文字幕在线观看第二页| 色成年激情久久综合| 无码日韩精品一区二区| 色综合久久六月婷婷中文字幕| 国产精品人人人人| 欧美色另类天堂2015| 好看的av在线| 日韩欧美在线免费| www.国产毛片| 在线看不卡av| 亚洲中文一区二区三区| 欧美另类变人与禽xxxxx| 91午夜交换视频| 欧美一区二区三区四区在线观看| a毛片在线免费观看| 日韩欧美中文一区| 高潮一区二区三区乱码| 亚洲精品美女久久久| 日漫免费在线观看网站| 亚洲欧美日韩图片| av福利在线播放| 久久精品亚洲精品| 青草青在线视频| 国模私拍视频一区| 伊人久久在线| 国产精品日韩精品| 99re8精品视频在线观看| 亚洲自拍小视频| 欧美成人基地| 色噜噜色狠狠狠狠狠综合色一| 国产精品99久久| 国产 欧美 日韩 一区| 国产一区二区你懂的| 久草在在线视频| 国产美女精品一区二区三区| 女教师高潮黄又色视频| 97国产精品videossex| 国产成人一区二区在线观看| 综合婷婷亚洲小说| 日韩精品一区二区av| 欧美综合久久久| 精品人妻无码一区二区色欲产成人 | 91亚洲国产| 日韩免费在线观看av| 免费视频久久| 国产免费中文字幕| 成人精品电影在线观看| 久久精品无码一区| 亚洲精选视频在线| 欧美 日韩 精品| 在线播放中文字幕一区| 天天综合永久入口| www.亚洲一区| 成人免费观看在线观看| 国产精品免费一区二区三区都可以| 欧美经典影片视频网站| 蜜桃av噜噜一区二区三| 在线看片不卡| 欧美成人黑人猛交| 国产精品亚洲一区二区三区妖精| 人妻少妇一区二区| 亚洲精品免费播放| 懂色av蜜臀av粉嫩av喷吹| 精品成人一区二区| a黄色在线观看| 日本精品视频一区二区三区| 亚洲欧洲中文| 综合激情婷婷| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 麻豆视频观看网址久久| 特大黑人巨人吊xxxx| 夜夜嗨av一区二区三区网页 | 免费91在线观看| 欧美性猛交99久久久久99按摩| 国产高清在线观看视频| 伊是香蕉大人久久| 老色鬼在线视频| 97av自拍| 91精品观看| 性刺激的欧美三级视频| 久久综合色天天久久综合图片| 欧美日韩国产精品综合| 欧美美女激情18p| 成年人视频在线看| 国产不卡一区二区在线播放| 国产精品极品在线观看| 男人天堂网站在线| 国产一区二区三区免费看| 国产午夜福利一区| 日韩欧美在线视频观看| 午夜视频福利在线| 午夜精品一区二区三区在线视| 99久久香蕉| 欧美一级爱爱视频| 国产精品一区二区在线观看网站| а天堂中文在线资源| 欧美在线一区二区三区| 免费动漫网站在线观看| 欧美与黑人午夜性猛交久久久| 色愁久久久久久| 国产免费成人在线| 91免费视频大全| 全部毛片永久免费看| 亚洲精品国产精品乱码不99按摩| 日本aa在线| 成人性色av| 亚洲美洲欧洲综合国产一区| 国模私拍在线观看| 精品久久久久久久大神国产| 男人天堂av网| 欧美一区深夜视频| 奇米色欧美一区二区三区| 亚洲成人av在线播放| 久久激情免费视频| 日韩区在线观看| 美女网站视频在线| 国产一区二区三区四区五区加勒比 | 中文字幕日本一区| 女同性恋一区二区| 国产精品888| 国产成人精品a视频一区| 日韩精品中文字幕在线| 欧美羞羞视频| 亚洲一区3d动漫同人无遮挡| 激情国产一区二区| 欧美又粗又大又长| 亚洲国产91色在线| 欧美日韩国产观看视频| 日韩精品不卡| 国产成人在线观看| 国产超碰人人爽人人做人人爱| 亚洲免费影视第一页| 国精品产品一区| 日韩久久久久久久久久久久| 91麻豆精品一区二区三区| 国产一级片一区二区| 久久精品影视伊人网| 精品五月天堂| 免费一区二区三区在线观看| 亚洲一线二线三线视频| 青青草在线播放| 成人在线精品视频| 1024成人| 国产又粗又长又硬| 亚洲激情自拍图| 日韩亚洲国产免费| 国产真人做爰毛片视频直播| 国产无一区二区| 亚洲高清视频网站| 国产精品白嫩初高中害羞小美女| 亚洲成人99| 蜜桃精品一区二区| 欧美一二三区在线观看| 日韩在线免费| 国产无限制自拍| 国产精品成人免费在线| 日夜干在线视频| 99久久精品免费看国产一区二区三区 | 久久久久久久久久av| 青草国产精品|