配置Ibatis使用C3P0作为连接池

系统 1481 0

个人博客已经迁移到如下网站  萌萌的IT人 , 后续所有的文章都会在此发布

 

 

      
        ----------------------------------------------------------------------------------
      
      iBatis的连接设置

持久层中间件iBatis连接数据库的方式有3种,连接数据库的方式是JDBC,可以通过在XML文件中配置数据库连接,也可以在properties文件中配置。下面列出transactionManager的type为JDBC的3种连接配置。

 

dataSource的type为SIMPLE的连接配置

以下是配置数据库连接参数的properties文件sql-map-config.properties的内容:

 ## SimpleDataSource properties 

 ## Use only if useSimpleConfiguration=true 

 

 # DMDBMS 

 SimpleDriver=dm.jdbc.driver.DmDriver 

 SimpleUrl=jdbc:dm://localhost:12345/SYSTEM 

 SimpleUsername=SYSDBA 

SimplePassword=SYSDBA

 

以下是配置文件sql-map-config.xml的内容:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<!DOCTYPE sqlMapConfig

 PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"

 "http://www.ibatis.com/dtd/sql-map-config-2.dtd">

 

<sqlMapConfig>

 <properties resource="res/config/sql-map-config.properties" />

 <settings cacheModelsEnabled="true" enhancementEnabled="true"

 maxSessi*****="64" maxTransacti*****="20" maxRequests="128"

 useStatementNamespaces="true" />

 <transactionManager type="JDBC">

 <dataSource type="SIMPLE">

 <property value="$" name="JDBC.Driver" />

 <property value="$" name="JDBC.ConnectionURL" />

 <property value="$" name="JDBC.Username" />

 <property value="$" name="JDBC.Password" />

 <property value="15" name="Pool.MaximumActiveConnecti*****" />

 <property value="15" name="Pool.MaximumIdleConnecti*****" />

 <property value="1000" name="Pool.MaximumWait" />

 </dataSource>

 </transactionManager>

 <sqlMap resource="res/sqlmap/User.xml" />

 <sqlMap resource="res/sqlmap/Role.xml" />

 <sqlMap resource="res/sqlmap/Permit.xml" />

</sqlMapConfig>

说明:如果要优化数据库连接池,可以在sql-map-config.xml修改相关参数:

Pool.MaximumActiveConnecti***** 最大连接数

Pool.MaximumIdleConnecti***** 允许的挂起(idle)连接数

Pool.MaximumWait 最长等待的时间

 

dataSource的type为DHCP的连接配置

<transactionManager type="JDBC">

 <dataSource type="DBCP">

  <property name="JDBC.Driver" value="$"/>

  <property name="JDBC.ConnectionURL" value="$"/>

  <property name="JDBC.Username" value="$"/>

  <property name="JDBC.Password" value="$"/>

  <!-- Optional properties below -->

  <property name="Pool.MaximumIdleConnecti*****" value="5"/>

  <property name="Pool.MaximumWait" value="60000"/>

  <!-- Use of the validation query can be problematic.

 If you have difficulty, try without it. -->

  <property name="Pool.ValidationQuery" value="select now"/>

  <property name="Pool.LogAbandoned" value="false"/>

  <property name="Pool.RemoveAbandoned" value="false"/>

  <property name="Pool.RemoveAbandonedTimeout" value="50000"/>

 </datasource>

</transactionManager>

说明:上面的$等连接信息定义在另外一个properties文件或XML文件中,同dataSource的type为SIMPLE的连接配置。

 

dataSource的type为JNDI的连接配置

<transactionManager type="JDBC" >

 <dataSource type="JNDI">

  <property name="DataSource" value="java:comp/env/jdbc/jpetstore"/>

 </dataSource>

</transactionManager>

说明:前提是在应用服务器中配置了JNDI为jdbc/jpetstore的配置。

     <bean id="dataSourceA" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="automaticTestTable" value="CONNECTION_TEST" />
        <property name="testConnectionOnCheckout" value="true" />
        <property name="acquireRetryAttempts" value="1" />
        <property name="driverClass" 
            value="org.apache.derby.jdbc.ClientDriver" />
        <property name="jdbcUrl" 
            value="jdbc:derby://localhost:1527/d:/work/lms" />
        <property name="user" value="someUser" />
        <property name="password" value="somePassword" />
</bean>        
     <bean id="dataSourceB" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="automaticTestTable" value="CONNECTION_TEST" />
        <property name="testConnectionOnCheckout" value="true" />
        <property name="acquireRetryAttempts" value="1" />
        <property name="driverClass" value="com.ibm.as400.access.AS400JDBCDriver" />
        <property name="jdbcUrl" 
            value="jdbc:as400://192.168.85.1.1;driver=native;naming=system;errors=full;prompt=false;libraries=*LIBL,SOME_LIB,OTHER_LIB;
                transaction isolation=read committed" />
        <property name="user" value="someUser" />
        <property name="password" value="somePassword" />
 
 


    

 

配置Ibatis使用C3P0作为连接池


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论