请问数据库连接池在j2ee中的项目中使用的很普遍吗?还有没有直接用JDBC的呢?

解决方案 »

  1.   

    J2EE 中不会使用 JDBC 进行直接连接的,一般通过配置应用服务器的 JNDI 来配置数据库连接池的。不仅仅是配连接池,如果还要提高效率的话还要配置 PreparedStatement 池,以节约数据库解析的时间(不过我没有遇到过)。
      

  2.   

    tomcat的jndi怎么配的啊,迷茫中
      

  3.   

    Tomcat 的 JNDI 可以在管理控制台里进行图形化的配置,没有管理控制台的,需要手工修改 server.xml 文件。我原来做的一个程序,可以参考一下,使用 Tomcat 5.5.9 的,Tomcat 5.5 以下版本的配置不一样需要参考相关资料。server.xml 当前的 <Host> 下加上:<Context path="/mythsoft" reloadable="true">
      <Resource auth="Container"
           name="jdbc/mythsoft"
           type="javax.sql.DataSource"
           driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
           password=""
           maxIdle="5"
           maxWait="5000"
           username="sa"
           url="jdbc:microsoft:sqlserver://localhost:1433;databasename=mythsoft"
           maxActive="5"/>
      <WatchedResource>WEB-INF/web.xml</WatchedResource>
    </Context>并在应用的 web.xml 中加入<resource-ref>
      <description>SQL Server 2000 Mythsoft</description>
      <res-ref-name>jdbc/mythsoft</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
    </resource-ref>在程序中使用public Connection getConnection() {
      Context ctx = null;
      DataSource ds = null;
      Connection con = null;
      try {
        ctx = new InitialContext();
        ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mythsoft");
        con = ds.getConnection(); 
      } catch (NamingException e) {
        e.printStackTrace();
      } catch (SQLException e) {
        e.printStackTrace();
      }
      return con;
    }另外需要将 JDBC 驱动拷到 %TOMCAT_HOME%/common/lib 下,重启 Tomcat 就为 OK 了。
      

  4.   

    j2ee项目中再使用JDBC连接数据库,那WEB容器提供的连接池功能不白花时间了
      

  5.   

    当然有用,要不然要他做什么呢
    ________________________________那是当然了,数据库连接池中的连接也是通过 JDBC 来工作的啊,只不过这些直接连接的方式在 J2EE 中不会出现的。
      

  6.   

    to bao110908(火龙果)
    现在的连接池实现已经比jdbc高级很多了,使用诸如dynamic proxy, decorate pattern
      

  7.   

    对啊,不管你的连接池多高级,不管在里面使用了多少的设计模式,但是底层还是靠 JDBC 来实现的啊,数据库连接池又不能用来直接连数据库的。
      

  8.   

    现在又不就是自己配,再者就是用WEB容器配,连接池已经很普遍了。