用连接池你还用DriverManager???

解决方案 »

  1.   

    连接池就是为了解决DriverManager的低效率,用法:
    1.jndi查找:
    DataSource ds = (DataSource) new InitialContext().lookup("jdbc/mysql");2.获取连接
    Connection conn = ds.getConnection();3.释放连接
    conn.close();注意一定要try ... finally { 释放 }
      

  2.   

    我有点不明白的是Connection是由连接池管理的,为什么还要conn.close()呢,我看Tomcat的例子就没有关
      

  3.   

    close表示将connection返还给连接池,不然这个connection一直被占用,别的线程就用不了了不调用close()是绝对错误的,而且一定要在finally中调用close未必是关闭connection,你看看DBCP的连接池源代码就知道了
      

  4.   

    明白了,是tomcat的文档有问题,Connection关闭并不是物理关闭,不同于不使用连接池的情况,只是归还连接池,还有ResultSet和Statemen也要关啊