<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://www.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2010-02-09 15:19 zhyiwww 閱讀(653) 評論(0)  編輯  收藏 所屬分類: j2ee
    主站蜘蛛池模板: 亚洲一级毛片在线观| 国产亚洲精品第一综合| 九九九精品成人免费视频| jizzjizz亚洲日本少妇| 亚洲av之男人的天堂网站| 免费观看黄网站在线播放| 一级特黄a免费大片| 亚洲色成人网一二三区| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲AV无码一区二区三区电影 | 亚洲人成电影网站色www| 久久久久亚洲精品无码网址 | 亚洲精品无码久久久久去q| 免费精品国产自产拍在| 一级看片免费视频| 亚洲一区免费在线观看| 77777亚洲午夜久久多人| 成人毛片免费观看视频大全| a级毛片黄免费a级毛片| 亚洲人成网站18禁止| 亚洲AV无码乱码国产麻豆穿越| 免费视频淫片aa毛片| 91香焦国产线观看看免费| 曰批全过程免费视频免费看 | 国产无遮挡色视频免费观看性色| 亚洲免费黄色网址| 亚洲国产第一站精品蜜芽| 又大又粗又爽a级毛片免费看| 18国产精品白浆在线观看免费| aa在线免费观看| 国产亚洲精品仙踪林在线播放| 精品日韩亚洲AV无码| 亚洲综合色婷婷七月丁香| 男女啪啪永久免费观看网站| ww在线观视频免费观看| a视频在线观看免费| 免费一级做a爰片久久毛片潮| 亚洲熟妇无码AV| 亚洲乱码一二三四区麻豆| 亚洲一区二区三区夜色| 亚洲人成网亚洲欧洲无码久久|