<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 閱讀(653) 評論(0)  編輯  收藏 所屬分類: j2ee
    主站蜘蛛池模板: 亚洲一本之道高清乱码| 91免费国产自产地址入| 亚洲AV日韩综合一区尤物| 亚洲日韩精品一区二区三区无码 | 日韩成人免费在线| 91手机看片国产永久免费| 东方aⅴ免费观看久久av| 曰批全过程免费视频免费看| 亚洲影视自拍揄拍愉拍| 亚洲午夜久久久精品影院| 亚洲综合色在线观看亚洲| 宅男666在线永久免费观看| 波多野结衣在线免费视频 | 亚洲av午夜福利精品一区| 亚洲综合精品网站在线观看| 国产又大又粗又硬又长免费 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 在线看无码的免费网站| 中文字幕免费不卡二区| www一区二区www免费| 免费在线观看一区| 美女黄网站人色视频免费| 亚洲爆乳AAA无码专区| 亚洲av无码电影网| 在线综合亚洲中文精品| 亚洲一区二区三区在线| 亚洲三级视频在线| 亚洲乱码卡三乱码新区| 最新欧洲大片免费在线| 亚洲第一网站免费视频| 无码乱肉视频免费大全合集| 67194国产精品免费观看| xxxxx免费视频| 久久免费看黄a级毛片| 亚洲精品在线免费看| 91香蕉视频免费| 成年女人18级毛片毛片免费观看| 好爽…又高潮了免费毛片| 午夜视频免费成人| 国产免费午夜a无码v视频| 亚洲七七久久精品中文国产|