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

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

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

    zhyiwww
    用平實的筆,記錄編程路上的點點滴滴………
    posts - 536,comments - 394,trackbacks - 0
    通常的操作方法
        public List<Category> queryCategory(String queryStr) throws SQLException {
            ArrayList<Category> catList = new ArrayList<Category>();
            PreparedStatement pstmt = DBUtil.getConnection().prepareStatement(
                    queryStr);
            if (pstmt == null) {
                return catList;
            } else {
                ResultSet rst = pstmt.executeQuery();
                while (rst.next()) {
                    Category c = new Category();
                    c.setCategoryId(rst.getInt("CATEGORY_ID"));
                    c.setCategoryName(rst.getString("CATEGORY_NAME"));
                    c.setCategoryParent(rst.getInt("PARENT_ID"));
                    catList.add(c);
                }

                rst.close();
                pstmt.getConnection().close();

            }

            return catList;
        }

    這種方式是不保險的方式,因為此處并不處理異常,但是不排除會發生異常。
    假設在黑體代碼部分發生異常,那么下面的代碼并不會執行,也就是說,rst,pstmt,con都不會關閉掉。
    所以導致的結果是這些資源得不到釋放。

    解決的方法,就是在最后用finally去解決問題

        PreparedStatement pstmt = null;
            ResultSet rst = null;

            try {
                pstmt = this.getPstmt(queryStr);
                rst = pstmt.executeQuery();
                while (rst.next()) {
                    Category c = new Category();
                    c.setCategoryId(rst.getInt("CATEGORY_ID"));
                    c.setCategoryName(rst.getString("CATEGORY_NAME"));
                    c.setCategoryParent(rst.getInt("PARENT_ID"));
                    catList.add(c);
                }

            } catch (SQLException e) {
                throw e;
            }finally{
                if(rst!=null){
                   
                    rst.close();
                }
                if(pstmt!=null){
                    pstmt.close();
                   
                }
                if(this.getCon()!=null&&this.getCon().getAutoCommit()){
                    this.getCon().close();
                }
            }

    這樣,無論在那個地方發生了異常,都能讓資源得到釋放。






    |----------------------------------------------------------------------------------------|
                               版權聲明  版權所有 @zhyiwww
                引用請注明來源 http://m.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2010-02-09 15:19 zhyiwww 閱讀(660) 評論(0)  編輯  收藏 所屬分類: j2ee
    主站蜘蛛池模板: 全部免费毛片免费播放| 99久久久国产精品免费无卡顿| 免费观看亚洲人成网站| 又黄又爽一线毛片免费观看 | a级片免费在线观看| 最新亚洲精品国偷自产在线| 浮力影院亚洲国产第一页| 波多野结衣中文字幕免费视频| 老司机午夜免费视频| 亚洲白色白色永久观看| 亚洲精品中文字幕无码蜜桃| 免费看的成人yellow视频| 嘿嘿嘿视频免费网站在线观看| 亚洲免费一区二区| 老妇激情毛片免费| 亚洲精品国产首次亮相| 亚洲人成伊人成综合网久久| 国产亚洲无线码一区二区| 日批日出水久久亚洲精品tv| 波多野结衣久久高清免费| 亚洲一区免费视频| 6080午夜一级毛片免费看6080夜福利| 羞羞视频免费网站在线看| 免费国产污网站在线观看不要卡 | 日韩在线永久免费播放| 美女被免费网站91色| 精品乱子伦一区二区三区高清免费播放 | 四虎1515hh永久久免费| 久久久久国色AV免费观看| 精品久久久久久亚洲综合网| 亚洲六月丁香婷婷综合| 亚洲一区二区影院| 久久91亚洲人成电影网站| 亚洲国产精品毛片av不卡在线| 毛片a级毛片免费观看品善网| **俄罗斯毛片免费| 日本免费中文视频| 嫩草成人永久免费观看| 在线免费播放一级毛片| 五月婷婷免费视频| 四虎精品免费永久免费视频|