亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

探討JDBC 4.0在設計和性能方面的改進

2019-11-18 13:34:06
字體:
來源:轉載
供稿:網友
摘要 JDBC(java數據庫連接)4.0預計在2006年中期作為Java 6.0標準版的一部分正式發行。現在,我們大家都關心的問題是,如何利用這一新的規范來改進Java應用程序數據存取和交互方面的設計與性能。本文將與你一起探討JDBC 4.0中引入的新特征,討論它對一些現有問題的解決方案,并且通過具體示例展示它在設計和性能方面的改進。

  自從核心Java語言的第一個公開發行版本起,JDBC(Java數據庫連接)已經經歷了十年的發展歷程。它的當前版本4.0(將與Java標準版本6.0一起打包發行)提供了一組更為豐富的API,主要目的在于改進軟件開發的設計和性能。

  本文將重點討論JDBC 4.0規范在設計和性能方面的改進。

  一、 注釋和泛型DataSet

  在本文中,我假定你已經了解注釋和泛型。其實,這兩個概念是隨著J2SE 5.0的發行一同引入的;與此同時,JDBC 4.0中引入了注釋和泛型DataSet。這一變化的主要目的是為了簡化SQL查詢和SQL DML(數據操縱語言)語句的執行。

  新一代API定義了一組Query和DataSet接口。這個Query接口定義了一組帶有JDBC注釋的方法。這些帶有注釋的方法描述了SQL select和update語句,并且指定應該如何把結果綁定到一個DataSet上。這個DataSet接口是一個通過泛型定義實現的參數化類型,也為結果集數據提供一種類型安全的定義。

  所有的Query接口都繼續自BaseQuery接口。你可以使用Connection.createQueryObject()或DataSource.createQueryObject()方法(這兩個方法都使用一個Query接口類型作為它的參數)來具體實現這樣的接口。

  一個DataSet接口繼續自java.util.List;該接口使用一個描述結果集數據列的數據庫(該數據庫是通過Query接口的一個注釋的方法返回的)作為它的參數類型。在連接方式和非連接方式下都可以操作和使用DataSet。因此,根據使用的是連接方式還是非連接方式,這個DataSet也分別相應地實現為一個ResultSet或CachedRowSet。DataSet,作為java.util.List的一個子接口,答應使用Iterator模式通過java.util.Iterator接口存取其數據行。

  你可以用兩種方式來指定數據類或用戶定義類(作為DataSet接口的一個參數類型)-作為一個結構或作為一個JavaBeans對象。無論哪一種方式都能夠把結果集數據列綁定到用戶定義的類定義上;但是,JavaBeans組件模型更漂亮些,并且更利于對象定義在另外的支持JavaBeans模型的框架中的重用。

  列表1摘自本文示例中的代碼片斷,它展示了如何使用這種新型的API來創建和運行SQL查詢:使用一個用戶定義類定義結果集數據,并且把返回的結果集綁定到用戶定義的描述中。

  列表1.Employee用戶定義類型與employeeQueries接口

pubic class Employee {
 PRivate int employeeId;
 private String firstName;
 private String lastName;
 public int getEmployeeId() {
  return employeeId;
 }
 public setEmployeeId(int employeeId) {
  this.employeeId = employeeId;
 }
 public String getFirstName() {
  return firstName;
 }
 public setFirstName(String firstName) {
  this.firstName = firstName;
 }
 public String getLastName() {
  return lastName;
 }
 public setLastName(String lastName) {
  this.lastName = lastName;
 }
}
interface EmployeeQueries extends BaseQuery {
 @Select (sql="SELECT employeeId, firstName, lastName FROM employee")
 DataSet<Employee> getAllEmployees ();
 @Update (sql="delete from employee")
 int deleteAllEmployees ();
}
Connection con = ...
EmployeeQueries empQueries = con.createQueryObject (EmployeeQueries.class);
DataSet<Employee> empData = empQueries.getAllEmployees ();
  二、 改進異常處理能力

  在JDBC API 4.0以前的版本中,異常處理功能極其有限。對于所有類型的錯誤都會籠統地拋出一個SQLException異常-根本不存在異常的具體分類,且沒有相應的層次定義。所以這時,你唯一能夠得到一些有意義的信息的辦法是檢索和分析SQLState值。另一方面,SQLState值及其相應的含義會因不同的數據源而有所改變;因此,要想追蹤到問題的"根部"并且有效地處理異常是一件非常乏味的任務。

  JDBC 4.0改進了異常處理能力,同時也緩解了一些前面提到的問題。其中的要害改進有:

  · 把SQLException分成短暫異常和非短暫異常兩種類型

  · 支持鏈式異常

  · 實現Iterable接口

  當一個以前失敗的操作檢索成功時,將會拋出SQLTransientException異常;而在檢索不成功時將會拋出SQLNonTransientException異常-除非導致SQLException的原因得到糾正。

  圖1展示了子類SQLTransientException和SQLNonTransientException。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区视频| 日韩欧美国产激情| 欧洲亚洲在线视频| 国产精品a久久久久久| 亚洲精品久久久久国产| 久久亚洲私人国产精品va| 欧美日韩国产一区在线| 日韩成人在线观看| 中文字幕日韩综合av| 久久视频国产精品免费视频在线| 日韩欧美国产免费播放| 久久精品国产69国产精品亚洲| 国产一区二区三区在线免费观看| 国产精品视频在线播放| 久久91精品国产91久久久| 91网在线免费观看| 日韩成人小视频| 51色欧美片视频在线观看| 亚洲欧美国产精品| 久久国产精品电影| 亚洲已满18点击进入在线看片| 欧美激情中文网| 日韩av毛片网| 国产成人一区三区| 欧美黑人又粗大| 日韩欧美高清在线视频| 色偷偷888欧美精品久久久| 欧美精品久久久久久久久| 欧美激情精品久久久久久蜜臀| www日韩中文字幕在线看| 欧日韩在线观看| 91中文字幕在线| 亚洲午夜精品久久久久久久久久久久| www.日韩视频| 日韩免费在线观看视频| 亚洲精品国精品久久99热| 国产日韩中文字幕在线| 久久久久国产精品免费| 久久久久久久香蕉网| 欧美激情小视频| 成人久久18免费网站图片| 午夜精品国产精品大乳美女| 日本在线精品视频| 91久久嫩草影院一区二区| 久久久999国产精品| 动漫精品一区二区| 亚洲精品美女在线观看| 91影视免费在线观看| 久久国产精品久久久久久| 91影视免费在线观看| 亚洲欧美日本伦理| 欧美午夜精品久久久久久人妖| 在线免费观看羞羞视频一区二区| 北条麻妃久久精品| 超碰精品一区二区三区乱码| 日韩综合中文字幕| 欧美激情一区二区三级高清视频| 日本高清视频一区| 国产婷婷97碰碰久久人人蜜臀| 一区二区三区黄色| 国产午夜一区二区| 久久综合久久美利坚合众国| 亚洲欧美在线磁力| 97av在线视频免费播放| 日韩中文字幕精品| 77777少妇光屁股久久一区| 亚洲福利视频网| 97在线视频免费看| 亚洲人高潮女人毛茸茸| 亚洲第一福利网站| 91情侣偷在线精品国产| 91精品国产综合久久久久久久久| 日韩欧美在线免费| 日韩美女激情视频| 国产精品揄拍500视频| xvideos成人免费中文版| 欧美在线一区二区视频| 国产在线98福利播放视频| 日韩av电影手机在线观看| 国产精品视频xxx| 欧美成在线视频| 亚洲免费av网址| 操人视频在线观看欧美| 欧美视频在线观看 亚洲欧| 国产精品美女久久久免费| 欧美大肥婆大肥bbbbb| 欧美一级视频一区二区| 91沈先生在线观看| 国语自产精品视频在线看抢先版图片| 欧美电影免费观看高清完整| 久久久久国产精品免费| 国产日韩欧美在线视频观看| 日韩av观看网址| 欧美性猛交xxxx免费看久久久| 中文字幕欧美亚洲| 欧美在线观看一区二区三区| 国产精品视频自拍| 亚洲国模精品私拍| 日韩中文字幕欧美| 欧美日韩国产限制| 欧美贵妇videos办公室| 97视频在线观看亚洲| 亚洲www永久成人夜色| 日韩的一区二区| 精品国产一区二区三区在线观看| 中文字幕欧美视频在线| 午夜精品久久久久久久男人的天堂| 91国产精品电影| 久久精品国产精品亚洲| 2025国产精品视频| 色系列之999| 国产精品无av码在线观看| 91午夜理伦私人影院| 亚洲小视频在线| 欧美日本在线视频中文字字幕| 成人在线精品视频| 91在线观看免费观看| 尤物九九久久国产精品的特点| 黄网动漫久久久| 国产精品免费观看在线| 7777kkkk成人观看| 国产一区二区黄| 日韩亚洲精品电影| 亚洲丝袜在线视频| 精品国产欧美一区二区三区成人| www.国产精品一二区| 精品偷拍一区二区三区在线看| 色噜噜国产精品视频一区二区| 精品无人国产偷自产在线| 欧美理论片在线观看| 国产精品综合网站| 中文字幕精品一区久久久久| 国产精品视频内| 九九热这里只有精品6| 九九九久久久久久| 亚洲午夜激情免费视频| 美女扒开尿口让男人操亚洲视频网站| 青青青国产精品一区二区| 午夜精品在线观看| 4438全国成人免费| 亚洲综合一区二区不卡| 日韩福利在线播放| 91av在线不卡| 国产亚洲精品久久久久久777| 最近的2019中文字幕免费一页| 国产有码在线一区二区视频| 亚洲欧美国产一本综合首页| 97视频免费在线看| 国产色综合天天综合网| 久久久国产视频91| 欧美日韩免费一区| 亚洲成人亚洲激情| 永久免费看mv网站入口亚洲| 成人福利在线视频| 国产精品日韩欧美大师| 亚洲视频网站在线观看| 午夜免费在线观看精品视频| 成人性生交大片免费看视频直播| 最好看的2019的中文字幕视频| 热久久美女精品天天吊色| 亚洲天堂av图片| 美女精品久久久| 久久精品亚洲热| 亚洲欧美国产一本综合首页|