c3p0、dbcp、tomcat jdbc pool 鏈接池配置簡介及經常使用數據庫的driverClass和驅動包

[-]html

  1. DBCP鏈接池配置
    1. dbcp jar包
  2. c3p0鏈接池配置
    1. c3p0 jar包
  3. jdbc-pool鏈接池配置
    1. jdbc-pool jar包
  4. 經常使用數據庫的driverClass和jdbcUrl
    1. SQL SERVER200020052008MY SQLORCAL驅動包

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" /><!--自我中斷時間秒 -->java

         </bean>mysql

         <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" />sql

             <property name="password" value="root" />數據庫

        </bean>apache

關於dbcp鏈接池具體的使用方法還需參考:點擊打開連接tomcat

dbcp jar包

commons-dbpc.jar、commons-collections.jar、commons-pool.jar 下載點擊下載
oracle

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>sqlserver

       <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對象的操做都是以攔截器。默認值是空的。
                  預約義的攔截器:
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/200八、MY SQL、ORCAL驅動包

下載點擊下載

相關文章
相關標籤/搜索