<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
    主站蜘蛛池模板: 黄色三级三级三级免费看| 国产亚洲精品免费| 亚洲美女色在线欧洲美女| 亚洲成年轻人电影网站www| 亚洲乱码日产精品BD在线观看| 亚洲精品无码你懂的| 成在线人免费无码高潮喷水| 国产一区二区三区免费| 国产无遮挡裸体免费视频在线观看| 亚洲一区二区三区在线播放 | 在线亚洲午夜片AV大片| 亚洲视频在线免费观看| 99久久国产亚洲综合精品| 国产美女在线精品免费观看| 亚洲精品A在线观看| 四虎亚洲精品高清在线观看| 妞干网免费观看视频| 亚洲AV永久精品爱情岛论坛| 国产AV无码专区亚洲AV麻豆丫 | 美女视频黄是免费的网址| 久久亚洲国产精品| 国产精品免费视频观看拍拍| 国产精品爱啪在线线免费观看| 四虎永久免费影院在线| 亚洲精品在线播放| 拍拍拍无挡免费视频网站| 四虎影视免费永久在线观看| 九一在线完整视频免费观看| 国产猛烈高潮尖叫视频免费| 亚洲国产精品综合久久20| 99精品视频在线观看免费专区| 亚洲 无码 在线 专区| 精品久久久久久亚洲精品| 最近免费视频中文字幕大全| 亚洲国产成人片在线观看| 一级毛片无遮挡免费全部| 亚洲ⅴ国产v天堂a无码二区| 无码免费午夜福利片在线| 亚洲嫩草影院在线观看| 免费视频爱爱太爽了| 亚洲毛片在线免费观看|