能简单给我个 配置池的例子吗?容易懂的!先谢了!

解决方案 »

  1.   

    C3PO 连接池
    C3PO 连接池是一个优秀的连接池,推荐使用。C3PO实现了JDBC3.0规范的部分功能,因而性能更加突出。
    需要的jar包: c3po0.902.jar
    主要接口与类:
    com.mchange.v2.c3p0.ComboPooledDataSource;
    代码:
    private static ComboPooledDataSource cdatasource =new ComboPooledDataSource(); //取得数据库对象
        public Connection getconn() {
    Connection conn = null;
    try {
    cdatasource.setDriverClass("sun.jdbc.odbc.JdbcOdbcDriver");
    cdatasource.setJdbcUrl("jdbc:odbc:accp");
    cdatasource.setUser("sa");
    cdatasource.setPassword("sa");
    cdatasource.setMaxPoolSize(4);
    cdatasource.setMaxIdleTime(500);
    cdatasource.setMinPoolSize(2);
    conn = cdatasource.getConnection();
    } catch (Exception e) {
    // TODO Auto-generated catch block
    System.out.println("取得数据库连接错误!");
    }
    return conn;
    }
      

  2.   

    在Tomcat5.5上配置数据源在server.xml中配置如下节点
    <!-- Context节点的path属性就是你的WebApp服务名,与上面同。
     例如:http://localhost:8080/YouWeb/index.jsp 这个是访问你网站的URL,那么你的path就是: /YouWeb
    -->
     私有数据库连接池(Host节点里面)
    <Context path="/YouWeb" docBase="F:\workspace\tea_forum\WebRoot">
       <Resource
         name="jdbc/sqlserver"
         type="javax.sql.DataSource"
         driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
         maxIdle="2"
         maxWait="5000"
         username="sa"
         password="sa"
         url="jdbc:odbc:accp"
         maxActive="4"/>
    </Context>
     公有数据库连接池
       配置公有数据库连接池(GlobalNamingResources节点里面)
        <Resource
         name="jdbc/mssql"
         type="javax.sql.DataSource"
         driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
         maxIdle="2"
         maxWait="5000"
         username="sa"
         password="sa"
         url="jdbc:odbc:accp"
         maxActive="4"/>   引用公有数据库连接池(Host节点里面)
    <Context    path="/testjndi1" docBase="F:\workspace\testpool\WebRoot" >  
        <ResourceLink name="jdbc/mssql" global="jdbc/mssql" type="javax.sql.DataSource"/>
    </Context>
    <Context    path="/testjndi2" docBase="F:\workspace\testpool2\WebRoot">  
        <ResourceLink name="jdbc/sqlserver" global="jdbc/mssql" type="javax.sql.DataSource"/>
    </Context>解释一下:
     1.path是指定访问该web应用的URL入口;
     2.docBase指定web应用的文件路径,可以是绝对路径,也可以是相对于Host的appBase属性的相对路径;
     3.type是指数据源类型
     4.maxActive是DBCP中处于活动状态的数据库连接的最大数目,取0表示不受限制
     5.maxIdle是DBCP中处于空闲状态的数据库连接的最大数目,取0表示不受限制
     6.maxWait是是DBCP中的数据库连接处于空闲状态的最长时间(以毫秒为单位)取0表示无限期等待
     7.username是数据库登陆名
     8.password是数据库登陆口令
     9.driverClassName是只定数据库的jdbc驱动程序
     10.url是指定连接数据库的URL,testDBCP是我的数据库名。2、在你的项目工程目录WEB-INf\web.xml中配置如下信息:
    <!--注意:res-ref-name节点里的名字要与上面的Resource节点里的name要一致。名字可以任意取,但一定要一致。-->
     <resource-ref>
         <res-ref-name>jdbc/sqlserver</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
     </resource-ref>
    3、最后,在你和程序中使用如下代码即可取得连接:
         InitialContext ctx = new InitialContext();
         //这里的java:comp/env是前缀,java语言规范,后面跟的是你Web.xml文件中res-ref-name              节点中的名字。
         DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/server");
         Connection conn = ds.getConnection();
     
      

  3.   

    一般用spring来管理:
    <!-- 配置数据库连dbcp接池 -->
        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" lazy-init="false">
    <property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />       
        <property name="url"><value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pcp;SelectMethod=cursor</value></property>       
        <property name="username" value="sa" />       
        <property name="password" value="aaa" />
        <property name="maxActive">
    <value>100</value>
    </property>
    <property name="maxIdle">
    <value>30</value>
    </property>
    <property name="maxWait">
    <value>1000</value>
    </property>
    <property name="defaultAutoCommit">
    <value>true</value>
    </property>
    <property name="removeAbandoned">
    <value>true</value>
    </property>
    <property name="removeAbandonedTimeout">
    <value>60</value>
    </property>
    <property name="logAbandoned">
    <value>true</value>
    </property>
    <property name="initialSize">
    <value>2</value>
    </property>
    </bean>
      

  4.   

    好像Tomcat6的数据源配置比较简单一些,不过如果按照以前版本的方法设置的话,会出现很多问题如:
    Name jdbc is not bound in this Context
    或者 Cannot create JDBC driver of class '' for connect URL 'null'等等
    我把我用Tomcat6和Mysql5.17配置数据源的步骤写出来,大家可以参考一下
    1. 下载mysql-connector-java-5.1.7-bin.jar,放到Tomcat安装目录下的lib文件夹下;
    2. 在你的项目下的META-INF文件夹下(如果没有就创建一个,跟WEB-INF文件夹同级)创建一个context.xml文件;
        内容如下   1. <?xml version="1.0" encoding="UTF-8"?>
       2. <Context>
       3.   <Resource name="jdbc/datasource_name" auth="Container"
       4.             type="javax.sql.DataSource" username="root" password="xxxxxxx"
       5.             driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/database_name"
       6.             maxActive="8" maxIdle="4"
       7.             testOnBorrow="true"
       8.             validationQuery="select 1"
       9.             timeBetweenEvictionRunsMillis="30000"
      10.             />
      11. </Context>3.  替换以上的datasource_name为你的数据源名字, database_name为你的数据库名字, password也改成你的
    4.  在你的Java代码里验证是否成功
            1. InitialContext initContext = new InitialContext();
       2. DataSource ds = (DataSource)initContext.lookup("java:comp/env/jdbc/datasource_name"); 
       3.
       4. Connection conn = ds.getConnection();
       5.         
       6. Statement ps = conn.createStatement();
       7. ResultSet rs = ps.executeQuery("select * from table_name");
       8. while(rs.next())
       9. {
      10.     System.out.println(rs.getString(2));
      11. }  5.应该可以看到输出的信息了
      

  5.   

         3.1 配置连接池
             进入控制台(console) 可以看到该界面 ,然后点击 Connetion Pools
     
             点击后进入该界面,点击configure a new JDBC Conneciton Pool 
     
             点击后显示该界面 因为是使用SQL-SERVER 2000 所以选择MS SQL Server
      
             选择后,选择 MicroSoft’s MS SQL Server Driver (type) Version [倒数第三个^-^]然后点击Continue
     
             按页面要求填入相关信息
     
             此步骤完成后,进入该页面 
             点击 Test Driver Configuration ,如果是成功显示该页
     
        点击Create and deploy,