• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件質量之路(4):建立核心框架

    發布: 2009-11-26 08:48 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 10次 | 進入軟件測試論壇討論

    領測軟件測試網

        看到有多麻煩了吧,但是請注意,以上的代碼存在嚴重的缺陷,因為沒有任何處理異常的代碼,加入異常代碼意味著我們還需要增加一些代碼,這種重復的勞動使得程序員的工作像是傻瓜一樣。記得我們在代碼自動化中的自動化原則嗎?對于重復性的勞動,我們應該使其自動化。

      如何進行呢?注意,我們發現,除了SQL語句的不同以及記錄集的處理不同以外,大部分的查詢代碼都沒有太大的差別,所以我們的目標就是抽取共同的部分,而把特定的部分留給開發人員自己。

      那么,一個框架該做些什么呢?回憶框架的定義,框架就是定義一組的抽象體,及其抽象體之間的協作,并提供擴展。在JDBC中,抽象體有Datasource、Connection 、PreparedStatement、ResultSet、Statement、SQLException。所以,建立框架的第一步就是分析這些抽象體的行為,哪些是共同的,哪些是專有的。使用spring框架,最終的JDBC客戶端代碼是這樣的:

      JdbcTemplate template = new JdbcTemplate(dataSource);

      final List names = new LinkedList();

      template.query("SELECT USER.NAME FROM USER",

      new RowCallbackHandler() {

      public void processRow(ResultSet rs) throws SQLException {

      names.add(rs.getString(1));

      }

      });

      首先,代碼創建了一個JdbcTemplate實例,這是核心的JDBC的封裝器,我們在后面可以看到它的部分實現。然后,通過給JdbcTemplate的query方法傳入一個sql語句和一個回調的匿名類來完成填充names的操作?梢钥吹,客戶端需要做的事情包括獲得一個Datasource、提供一個sql Statement、以及一個具體的處理方法。這些動作每個客戶端都不相同,但是對于Connection、PreparedStatement、Statement、SQLException的處理,基本上都是類似的。接下來我們就看看JdbcTemplate內部的做法:

      public void query(String sql, RowCallbackHandler callbackHandler) throws DataAccessException {

      Connection con = null;

      PreparedStatement ps = null;

      ResultSet rs = null;

      try {

      con = DataSourceUtils.getConnection(this.dataSource);

      ps = con.prepareStatement(sql);

      rs = ps.executeQuery();

      while (rs.next()) {

      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    62/6<123456>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>