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

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

  • <strong id="5koa6"></strong>
  • 提高數據庫操作的可靠性

    發表于:2007-07-01來源:作者:點擊數: 標簽:
    Java 中的 數據庫 操作是比較頻繁的,很多人在處理數據庫操作時往往拿不準,只能保證程序正常運行下沒有問題,但是很多都沒有釋放資源或者沒有正確的釋放資源,等到有問題又不知道怎么回事!這里給出一個通過JDBC操作數據庫的簡單例子, 希望有一定的參考價
    Java中的數據庫操作是比較頻繁的,很多人在處理數據庫操作時往往拿不準,只能保證程序正常運行下沒有問題,但是很多都沒有釋放資源或者沒有正確的釋放資源,等到有問題又不知道怎么回事!這里給出一個通過JDBC操作數據庫的簡單例子, 希望有一定的參考價值,為了方便,通過數據庫連接工廠獲得連接。
    有關連接工廠的代碼:http://blog.csdn.net/treeroot/archive/2004/09/24/115372.aspx

    先看看下面這段代碼,你是否覺得有問題?

    try {
      Connection conn = ConnectionFactory_JDBC2.getConnection();
      Statement state = conn.createStatement();
      ResultSet rs = state.executeQuery("select * from table");
      //這里處理數據
      rs.close();
      state.close();
      conn.close();  //有的連這一句都沒有
    }
    catch(SQLException e){
      //這里可以自己處理,也可以拋出
    }

    這里給出一個替代實現:

    Connection conn = null;
    Statement state = null;
    ResultSet rs = null;
    try {
      conn = ConnectionFactory_JDBC2.getConnection();
      state = conn.createStatement();
      rs = state.executeQuery("select * from table");
      //處理數據
    }
    catch(SQLException e){
      //這里可以自己處理,也可以拋出
    }
    finally{
      if(rs!=null){
        try{rs.close();}catch(SQLException e){}
      }
      if(state!=null){
        try{state.close();}catch(SQLException e){}
      }
      ConnectionFactory_JDBC2.closeConnection(conn);
    }

    這個實現好像更加復雜了,但是可靠性更高了,雖然第一段代碼的實現一般不會有什么問題,確實很難會有問題(有時候想讓Windows蘭屏還真不容易),但是還是強烈建議通過finally釋放你的資源,不要讓潛在的危險存在!


    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>