精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲午夜精品一区二区三区| 欧美做受高潮1| 国内av免费观看| 波多野结衣中文在线| 2020国产精品| 国产欧美日韩免费| 久久久91视频| 免费一区二区三区视频导航| 欧美疯狂性受xxxxx喷水图片| 免费人成在线观看视频播放| 国产在线一二三区| 国产一区不卡视频| 欧美洲成人男女午夜视频| 亚洲色图日韩精品| 国产精品45p| 欧美午夜精品一区| 日韩av新片网| 成人福利在线| 不卡一卡二卡三乱码免费网站| 国产精品99久久久久久白浆小说| 丁香花五月激情| 国产不卡av一区二区| 日韩欧美亚洲一区二区| 久久黄色免费看| jizz一区二区三区| 亚洲同性同志一二三专区| 蜜桃视频成人| 老牛影视av牛牛影视av| 老司机精品视频导航| 2020久久国产精品| 久久午夜无码鲁丝片| 日韩免费特黄一二三区| 日韩国产高清污视频在线观看| 午夜av中文字幕| 日韩高清在线| 日韩欧美在线视频| 免费在线观看视频a| 91高清在线观看视频| 国产精品视频九色porn| 蜜桃av色综合| 天天舔天天干天天操| 国产精品18久久久久久久久久久久| 国产激情久久久| 色播视频在线播放| 亚洲国产免费看| 欧美另类在线观看| 成人涩涩小片视频日本| 日本高清免费电影一区| 亚洲无线码在线一区观看| avtt香蕉久久| 国产欧美三级电影| 精品乱人伦小说| 美女伦理水蜜桃4| 色悠久久久久综合先锋影音下载| 欧美福利电影网| 人人干人人干人人| 精品久久福利| 欧美高清性hdvideosex| 五月天婷婷亚洲| 激情久久一区二区| 欧美性欧美巨大黑白大战| 老熟妇仑乱视频一区二区| 亚洲校园激情春色| 91福利在线导航| 五月婷婷激情久久| 成人激情久久| 欧美一二三四区在线| 特黄特色免费视频| 精品视频自拍| 亚洲欧美日韩在线高清直播| 精品国产av无码| 热久久天天拍国产| 美女精品视频一区| 免费一级特黄特色大片| 国产精品嫩草99av在线| 国产精品扒开腿做爽爽爽男男 | 视频国产在线观看| 波多野结衣视频一区| 久久亚洲高清| 狠狠色伊人亚洲综合网站l| 国产精品久久久久国产精品日日 | 国产大片在线免费观看| 国产精品久久久久精k8| 欧美大黑帍在线播放| 日产福利视频在线观看| 在线日韩av片| 中文字幕一区二区三区四| 老牛影视av一区二区在线观看| 亚洲精品国产精品乱码不99按摩| 永久免费成人代码| 一区二区三区网站| 78m国产成人精品视频| 老熟妇一区二区三区啪啪| 国产精品一区二区在线观看不卡| 国产欧美一区二区在线播放| 国产乱子伦三级在线播放| 亚洲少妇30p| 无罩大乳的熟妇正在播放| 欧美黄色三级| 欧美成人女星排名| 人妻少妇无码精品视频区| 91精品国产成人观看| 国内免费久久久久久久久久久| 日韩欧美国产另类| 国产成人免费高清| 亚洲精品人成| 日本三级一区| 欧美xxxxxxxx| 黄色裸体一级片| 国产精品亚洲综合久久| 成人有码在线播放| 日本一区高清| 曰韩精品一区二区| 日本一极黄色片| 亚洲精品视频一二三区| 中文字幕日韩高清| 国产成人在线免费观看视频| 狠狠色丁香久久婷婷综合丁香| 九九九久久久| 污网站在线免费看| 精品视频免费在线| 扒开jk护士狂揉免费| 欧美日韩 国产精品| 国产精品视频自在线| 午夜性色福利视频| 亚洲国产精品影院| 91香蕉视频免费看| 97精品国产| 国产精品久久久久999| 无码国产色欲xxxx视频 | 日本在线视频中文字幕| 狠狠色丁香婷综合久久| 亚洲免费精品视频| 欧美日韩激情电影| 亚洲码在线观看| 国产69精品久久久久久久久久| 国产伦精一区二区三区| 亚洲综合视频一区| 成人午夜一级| 中文字幕日韩高清| 久久久久精彩视频| 久久五月婷婷丁香社区| 国产精品333| 日韩欧美在线精品| 538国产精品视频一区二区| 粉嫩av一区二区夜夜嗨| 夜夜嗨av一区二区三区| 亚洲在线观看网站| 欧美精品入口| 成人欧美一区二区三区在线观看| 菠萝蜜视频国产在线播放| 欧美一区二区三区视频免费播放 | 午夜性色福利影院| 精品日韩中文字幕| 中文字幕在线观看的网站| 国产欧美短视频| 欧美lavv| 超薄肉色丝袜脚交一区二区| 中文字幕日韩av电影| 一本色道久久综合无码人妻| 国产精品久久久久久久久免费丝袜 | 欧美成年网站| 久久久精品一区二区三区| 国产视频第一页| 国产精品久久久久aaaa樱花| 亚洲一级免费在线观看| 99久久影视| 成人av片网址| 欧美aa在线观看| 亚洲午夜av久久乱码| 中文字幕人成人乱码亚洲电影| 国产精品美日韩| ass极品水嫩小美女ass| 亚洲午夜激情在线| 欧美性bbwbbwbbwhd| 台湾成人免费视频| 久久av在线看| 日韩中文字幕影院| 色综合久久综合网欧美综合网| 国产高清一区二区三区四区| 国产乱人伦偷精品视频免下载 | 91精品婷婷国产综合久久性色| 成人在线观看小视频| 大陆成人av片| 国产日韩成人内射视频| 久久在线播放| 国产伦精品一区二区三毛| 奇米777日韩| 久久成人av网站| 涩爱av在线播放一区二区| 欧美系列在线观看| 久一视频在线观看| 国产亚洲精品bt天堂精选| 九九久久久久久| 国产欧美午夜| 免费久久久久久| 牛牛视频精品一区二区不卡| 国产精自产拍久久久久久蜜| 美足av综合网| 综合欧美国产视频二区| 香蕉国产在线视频| 在线成人免费观看| 国产精品男女视频| 自拍偷拍亚洲激情| 手机免费看av| 国产91精品久久久久久久网曝门| 久章草在线视频| 欧美精品不卡| 亚洲欧洲一区二区| 日本欧美韩国国产| 91精品国产高清久久久久久91裸体| 亚洲三级欧美| 久久99精品视频一区97| 爱久久·www| 亚洲精品久久久久久下一站| 91好色先生tv| 色婷婷av一区二区三区软件| 欧美日韩中文视频| 最好看的中文字幕久久| www.av天天| 91亚洲永久精品| 中文在线字幕观看| 国产综合色在线| av网站在线不卡| 久久久xxx| heyzo国产| 亚洲一级特黄| 欧妇女乱妇女乱视频| 999久久久亚洲| 天堂va久久久噜噜噜久久va| 亚洲瘦老头同性70tv| 国产在线一区二区三区播放| 在线播放一区二区精品视频| 成人在线精品视频| 国产精品久久久久久久久免费高清 | 成人在线短视频| 日本一不卡视频| 四虎永久在线精品无码视频| 一本色道久久综合亚洲精品不| 隔壁人妻偷人bd中字| 欧美日韩mv| 免费观看亚洲视频| 在线成人超碰| 亚洲精品天堂成人片av在线播放| 久久久久久久久久久久久久| 一区二区三区我不卡| 久久精品国产www456c0m| 四虎一区二区| 久久免费av| 亚洲一区二区三区午夜| 国产精品毛片一区二区在线看| 亚洲人成77777| 99久久影视| 久久亚洲a v| 亚洲精品少妇| 久久久免费视频网站| 国产日韩欧美一区在线| 国产91对白刺激露脸在线观看| 一区二区动漫| 久久人妻精品白浆国产| 日韩激情一二三区| 污污的网站免费| 粉嫩在线一区二区三区视频| 韩国无码一区二区三区精品| 久久久精品蜜桃| 成人午夜免费影院| 亚洲日本中文字幕区| 欧美毛片在线观看| 黑人巨大精品欧美一区免费视频| 免费看一级视频| 在线播放欧美女士性生活| 国产ts变态重口人妖hd| 亚洲第一黄色网| 麻豆导航在线观看| 日韩有码在线电影| 男女在线观看视频| 91tv亚洲精品香蕉国产一区7ujn| 丁香六月综合| 国产日韩在线一区| aiss精品大尺度系列| 蜜桃视频成人| 婷婷伊人综合| 国产成人精品视频免费看| 青青草精品视频| 日本黄色大片在线观看| 久久久久久影视| 日本少妇高清视频| 狠狠色香婷婷久久亚洲精品| 在线观看免费视频a| 精品国产一区二区三区忘忧草 | 国产美女主播在线| 亚洲女同在线| 91pony九色| 97se亚洲国产综合在线| 国产成人免费在线观看视频| 亚洲图片欧美综合| 波多野结衣黄色| 日韩欧美色电影| 国产毛片在线看| 国内成人精品视频| 成人国产一区| 极品日韩久久| 欧美好骚综合网| 免费国产黄色网址| 国产麻豆9l精品三级站| 五月天精品视频| 亚洲国产综合在线| 亚洲最大成人在线视频| 日韩av在线网址| 综合久久2019| 国产精品视频播放| 女人av一区| 日本中文字幕在线视频观看| 久久国产综合精品| 欧美成人国产精品一区二区| 亚洲国产综合色| 国内老熟妇对白hdxxxx| 中文字幕亚洲国产| 免费观看亚洲| 国内成+人亚洲| 午夜精品网站| 久久精品亚洲天堂| 中文av一区二区| 狠狠人妻久久久久久综合| 亚洲成人在线网| 在线观看电影av| 91欧美激情另类亚洲| 日韩国产欧美| 热久久精品国产| 91亚洲精品一区二区乱码| 国产精品不卡av| 亚洲精品在线网站| 人人澡人人添人人爽一区二区| 成人福利视频网| 午夜影院欧美| 午夜剧场高清版免费观看 | 精品国一区二区三区| 黄网站在线播放| 国产一区二区在线免费视频| av一区二区高清| 欧美伦理视频在线观看| 久久天天做天天爱综合色| 亚洲精品男人天堂| 亚洲精品在线观看网站| 人人超在线公开视频| 国产91视觉| 亚洲午夜视频| 久久久久亚洲av成人网人人软件| 亚洲另类在线制服丝袜| 精品国产乱码久久久久久蜜臀网站| 超碰97人人做人人爱少妇| 日韩中文字幕视频网| 男人天堂a在线| 91丨porny丨国产| 婷婷激情五月综合| 一道本无吗dⅴd在线播放一区| 日本一区免费网站| 一本一生久久a久久精品综合蜜| 国产主播一区二区| 91视频免费在线看| 亚洲国产精品大全| 欧美办公室脚交xxxx| 欧美一区亚洲二区| 精久久久久久久久久久| 九九在线观看视频| 亚洲国产精品久久91精品| 亚洲国产福利| 亚洲国产激情一区二区三区| 精品伊人久久久久7777人| 激情五月婷婷小说| 精品五月天久久| 国外成人福利视频| 欧美精品久久久久久久久久久| 久久久影视传媒| 91porny九色| 久久综合五月天| 大陆精大陆国产国语精品| 久久精品免费一区二区| 国产精品入口麻豆九色| www.成人在线观看| 欧美亚洲第一区| 91视频精品| 少妇一级淫免费观看| 欧美自拍偷拍午夜视频| 二区三区在线观看| 久久久久久久久久码影片| 久久国内精品视频| 国产精品老女人| 久久精品99国产精品酒店日本 | 精品美女在线观看| 怡红院成人在线| 日本精品福利视频| 久久久国产精华| 成人av无码一区二区三区| 国产99在线|中文| 亚洲午夜激情在线| 亚洲综合久久av一区二区三区| 日韩av资源在线播放| 成人污版视频| 国产xxxxx在线观看|