• c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包


    DBCP连接池配置

             <bean id="dbcpDataSource" abstract="true">
                 <property name="maxActive" value="100" /><!-- 连接池的最大数据库连接数。设为0表示无限制。 -->
                 <property name="initialSize" value="1" /><!-- 初始化连接数量 --> 
                 <property name="maxWait" value="60000" /><!-- 最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 -->
                 <property name="maxIdle" value="100" /><!-- 最大等待连接中的数量,设 0 为没有限制 -->
                 <property name="minIdle" value="3" /><!-- 最小等待连接中的数量,设 0 为没有限制 -->
                 <property name="removeAbandoned" value="true" /><!--强制自我中断避免dbcp自身bug出现连接过久资源耗尽-->
                 <property name="removeAbandonedTimeout" value="180" /><!--自我中断时间秒 -->

             </bean>

             <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" parent="dbcpDataSource">
                 <property name="driverClassName" value="com.mysql.jdbc.Driver" />
                 <property name="url" value="jdbc:mysql://127.0.0.1:3306/text?allowMultiQueries=yes" />
                 <property name="username" value="root" />

                 <property name="password" value="root" />

            </bean>

    关于dbcp连接池具体的使用方法还需参考:点击打开链接

    dbcp jar包

    commons-dbpc.jar、commons-collections.jar、commons-pool.jar 下载点击下载

    c3p0连接池配置

          <bean id="c3p0DataSource"  abstract="true">               
                 <property name="initialPoolSize" value="1"/>  <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->              
                <property name="minPoolSize" value="1"/> <!--连接池中保留的最小连接数。-->                       
                <property name="maxPoolSize" value="300"/>  <!--连接池中保留的最大连接数。Default: 15 -->              
               <property name="maxIdleTime" value="60"/><!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->                       
               <property name="acquireIncrement" value="5"/><!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->                    
                <property name="idleConnectionTestPeriod" value="60"/>   <!--每60秒检查所有连接池中的空闲连接。Default: 0 -->     
          </bean>

           <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" parent="c3p0DataSource">
                 <property name="driverClassName" value="com.mysql.jdbc.Driver" />
                 <property name="url" value="jdbc:mysql://127.0.0.1:3306/text?allowMultiQueries=yes" />
                 <property name="username" value="root" />

                 <property name="password" value="root" />

            </bean>

    关于c3p0连接池具体的使用方法还需参考:点击打开链接

    c3p0 jar包

    c3p0-0.9.2.jar 下载点击下载

    jdbc-pool连接池配置

            <bean id="poolDataSource"  abstract="true">

                 <property name="maxActive" value="100"/>  <!-- 连接池的最大数据库连接数。设为0表示无限制。 -->
                 <property name="initialSize" value="10"/>  <!-- 初始化连接数量 -->
                 <property name="maxWait" value="10000"/>  <!-- 最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 -->
                 <property name="removeAbandonedTimeout" value="60"/>  <!--自我中断时间秒 -->
                 <property name="minEvictableIdleTimeMillis" value="30000"/>  <!--连接的超时时间,默认为半小时。-->
                 <property name="minIdle" value="10"/>  <!-- 最小等待连接中的数量,设 0 为没有限制 -->
                 <property name="timeBetweenEvictionRunsMillis" value="30000"/>  <!-- #运行判断连接超时任务的时间间隔,单位为毫秒,默认为-1,即不执行任务。 -->
                 <property name="jmxEnabled" value="true"/>  <!-- 注册池JMX。的默认值是true。-->
                 <property name="testWhileIdle" value="false"/>  <!--默认值是false,当连接池中的空闲连接是否有效 -->
                 <property name="testOnBorrow" value="true"/> <!-- 默认值是true,当从连接池取连接时,验证这个连接是否有效-->
                 <property name="validationInterval" value="30000"/>  <!--检查连接死活的时间间隔(单位:毫妙) 0以下的话不检查。默认是0。 -->
                 <property name="testOnReturn" value="false"/>  <!--默认值是flase,当从把该连接放回到连接池的时,验证这个连接是 -->
                 <property name="validationQuery" value="select 1"/>  <!--一条sql语句,用来验证数据库连接是否正常。这条语句必须是一个查询模式,并至少返回一条数据。可以为任何可以验证数据库连接是否正常的sql-->
                 <property name="logAbandoned" value="true"/>  <!--是否记录中断事件, 默认为 false-->
                 <property name="removeAbandoned" value="true"/>  <!-- 是否自动回收超时连接-->

                <!--这些拦截器将被插入到链中的一个java.sql.Connection对象的操作都是以拦截器。默认值是空的。
                      预定义的拦截器:
                      org.apache.tomcat.jdbc.pool.interceptor.ConnectionState - 跟踪自动提交,只读目录和事务隔离级别。
                      org.apache.tomcat.jdbc.pool.interceptor.tatementFinalizer - 跟踪打开的语句,并关闭连接时返回到池中。
    -->
                <property name="jdbcInterceptors" value="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"/>  
           </bean> 

    注:往连接池里面加入下面4个属性的值,validationQuery为必须的,testOnBorrow,testOnReturn,testWhileIdle是根据validationQuery来验证连接是否有效
           <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close" parent="poolDataSource">
                 <property name="driverClassName" value="com.mysql.jdbc.Driver" />
                 <property name="url" value="jdbc:mysql://127.0.0.1:3306/text?allowMultiQueries=yes" />
                 <property name="username" value="root" />

                 <property name="password" value="root" />

            </bean>

    关于tomcat jdbc pool 连接池具体的使用方法还需参考:点击打开链接

    jdbc-pool jar包

    commons-dbpc.jar、commons-collections.jar、commons-pool.jar 下载点击下载

    常用数据库的driverClass和jdbcUrl

    数据库 driverClass jdbcUrl
    SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://127.0.0.1:1433;DatabaseName=schoolmis_new
    my SQL com.mysql.jdbc.Driver jdbc:mysql://127.0.0.1:3306/azmis?allowMultiQueries=yes
    Oracle oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:数据库name/数据库password@localhost:1521:全局数据库名称

    SQL SERVER2000/2005/2008、MY SQL、ORCAL驱动包

    下载点击下载

  • 相关阅读:
    MiniUI 在线示例(gridview)
    数据库的事务处理和并发控制
    数据库大并发操作要考虑死锁和锁的性能问题
    c# 财务报表数字转大写的方法
    js 实现打印功能1
    js 实现打印功能
    《C++ Primer 4th》读书笔记 序
    谈谈Vim中实用又好记的一些命令
    《Unix网络编程》卷2 读书笔记 第3章- System V IPC
    《Unix网络编程》卷2 读书笔记 第2章- Posix IPC
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786503.html
Copyright © 2020-2023  润新知