我用tomcat的admin配置的连接池,我想问通过连接池获得连接的话,何时关闭连接.还有ResultSet和Statement用不用关,如果需要关何时关.

解决方案 »

  1.   

    你用完了连接就可以把连接放回池中,ResultSet和Statement是要关闭的,可以在
    try{
    ....
    }
    ch
    finally{
    if(rs!=null){
    rs.close
    }
      

  2.   

    晕,没写完呢
     try {
             
         }
    catch (Exception ex) {
         
         }
    finally{
      if(rs!=null){
         rs.close;
       }
      if(st!=null){
         st.close;
       }
      

  3.   

    try {
             
         }
    catch (Exception ex) {
         
         }
    finally{
      if(rs!=null){
    try{
         rs.close();
    }catch(SQLException e){
    }
       }
      if(st!=null){
         try{
         st.close();
    }catch(SQLException e){
    }
       }
    if(conn!=null){
    try{
    conn.close();//这里就把连接放到连接池里面了
    }catch(SQLException e){
    }
    }
    }
      

  4.   

    明白了,谢谢,不过想自己写一个函数专门用做查询,方法返回值为ResultSet参数为String,在jsp页面定义一个ResultSet,通过该方法将返回值传给jsp页的ResultSet,,但是在函数体内返回ResultSet前就关闭连接的话,页面的ResultSet就无法用了,可是不关也不行,针对此问题大家有没有什么好的办法.
      

  5.   

    在jsp页面定义一个ResultSet,通过该方法将返回值传给jsp页的ResultSet,不要这样做。这和在JSP里连数据库没什么差别
    写一个查询类,或在一个操作类里写一个查询方法返回一个数据Bean类型,或他的父接口类型,Object类型也可以,把ResultSet里的数据先进行封装(关闭ResultSet),把封装类放入一个集合里,再把集合通过request或session传到JSP页面,在JSP页面定义request或session反向的把封装类取出来,再把信息从封装类里取出来显视到页面OK。这样做比较好
      

  6.   

    可以把做一个DAO层,写个BaseDAO,在这里面封装数据库连接管理,你主要关心的是业务逻辑。