<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 39,  comments - 263,  trackbacks - 0

    轉(zhuǎn)載請注明出處:http://www.tkk7.com/nake/
    ???自從
    java 發(fā)布的第一個版本開始就已經(jīng)包含 JDBC 了。目前已經(jīng)有 10 個年頭了。 JDBC4.0 將要被打包到 java6.0 里( java SE J2SE 新的名字)。它展現(xiàn)設(shè)計的重大提升和提供更加豐富的 API ,更加重視簡易開發(fā)和提高生產(chǎn)力 。

    ?????? 本文將討論一些 JDBC 在改善設(shè)計和提高性能上的重要的變化。但是不能列舉每一個變化。

    注解和泛型

    我想你已經(jīng)了解了包含在 JAVA 5.0 的注解( annotations 和泛型( generic 也有翻譯范型)。 JDBC4.0 也引進了注解和泛型 DataSet ,這使得執(zhí)行 sql 語句和 SQL? DML data manipulation? language 定義變的簡單。

    ?????? 在新的 API 里定義了一套 Query DataSet 接口。 Query 接口定義了一套方法,這些方法描述了 SQL select update 語句。而且詳細介紹了結(jié)果集如何綁定為一個 DataSet 的。因為泛型所以 DataSet 是可以帶參數(shù)的。因此可以說 DataSet 接口是類型安全的( type-saft .

    所有 Query 接口都要從 BaseQuery 接口繼承??梢酝ㄟ^ Connection.createQueryObject() 或者 DataSource.createQueryObject() 得到Query對象。

    一個DataSet接口都繼承java.util.List。 ? DataSet 是有列概念的數(shù)據(jù)集,能從 Query 接口得到,并且可以帶有參數(shù)。 DataSet 可以在連接和斷開連接的情況下使用。從而 DataSet 實現(xiàn)了 ResultSet (連接) 或者 ? CachedRowSet (可以斷開連接)。因為DataSetjava.util.List的子接口,所以可以通過java.util.Iterator來訪問每一行。

    DataSet 接口可以帶系統(tǒng)或者用戶自己定義的類作為參數(shù)。通過兩種方法你可以實現(xiàn):構(gòu)造函數(shù)或者 JavaBeans 對象,任何一個辦法都能達到將用戶自定義的類綁定到結(jié)果集的列里。但是在其它支持 JavaBeans 的框架里,用 JavaBeans 對象的實現(xiàn)就顯更加容易使用。

    下面簡單舉例說明如何通過新的 API 創(chuàng)建和運行 SQL 查詢。用用戶自定義的類來定義結(jié)果集。(拷貝時候小心有制表符)

    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;
    ?? }

    ?? pubic String lastName() {
    ??????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 ();

    ?

    異常處理的增強:

    1.?????? SQLException 分為兩類 transient non-transient

    2.?????? 支持連鎖的異常。

    3.?????? 繼承了 Iterable 接口。

    因為繼承了Iterable 所以你可以這樣寫:

    catch(SQLException ex) {
    ?? for(Throwable t : ex) {
    ??????System.out.println("exception:" + t);
    ?? }
    }

    SQLExceptions.JPG
    參考

  • http://www.javaworld.com/javaworld/jw-05-2006/jw-0501-jdbc.html
  • JSR 221: JDBC 4.0 Specification:
  • http://www.jcp.org/en/jsr/detail?id=221
    未完

    posted on 2006-05-11 22:26 nake 閱讀(6768) 評論(4)  編輯  收藏

    FeedBack:
    # re: JDBC4.0 簡介
    2006-05-12 08:21 | dennis
    看起來蠻酷的,感覺怎么跟hibernate的Query很像.


      回復(fù)  更多評論
      
    # re: JDBC4.0 簡介
    2006-05-12 11:41 | Nelson
    jdk綁的東西越來越多了  回復(fù)  更多評論
      
    # re: JDBC4.0 簡介
    2006-05-13 13:54 |
    好東西,期待。  回復(fù)  更多評論
      
    # re: JDBC4.0 簡介[未登錄]
    2010-09-28 13:14 | 天行者
    很詳細,很全面。感謝分享。收藏了~  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2006年5月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(18)

    我參與的團隊

    隨筆檔案(39)

    收藏夾(1)

    搜索

    •  

    積分與排名

    • 積分 - 451262
    • 排名 - 119

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费观看激色视频网站(性色)| 亚洲福利电影一区二区?| 一本色道久久88综合亚洲精品高清| 女人让男人免费桶爽30分钟| 一二三四在线播放免费观看中文版视频| 最近中文字幕电影大全免费版 | 香蕉97碰碰视频免费| 色九月亚洲综合网| 色屁屁在线观看视频免费| 男性gay黄免费网站| 特a级免费高清黄色片| 91在线免费观看| 无码国产精品一区二区免费式芒果| 人妻无码一区二区三区免费| 88av免费观看| 无码人妻一区二区三区免费 | 和老外3p爽粗大免费视频| 久久er国产精品免费观看8| 久久国产精品国产自线拍免费| 久久久久成人片免费观看蜜芽| 久久精品一本到99热免费| 99国产精品永久免费视频| 天天拍拍天天爽免费视频| 国产成人免费永久播放视频平台| 亚洲成av人片一区二区三区| 亚洲男同帅GAY片在线观看| 久久久婷婷五月亚洲97号色 | 中文字幕亚洲激情| 国产亚洲人成网站观看| 亚洲精品视频久久| 亚洲日韩精品国产3区| 一区二区三区免费看| 久久国产乱子免费精品| 男人的好免费观看在线视频| 国产男女猛烈无遮挡免费网站 | 四虎影视永久免费视频观看| 久久久久亚洲av毛片大| 久久久亚洲欧洲日产国码二区| 亚洲熟妇无码一区二区三区导航| 日本特黄特色AAA大片免费| 一区二区三区四区免费视频 |