king71 发表于 2016-11-24 06:43:26

Mybatis C3P0 整合

  
由于公司之前的项目使用的是ibatis + c3p0 开发的。Ibatis 从 apache 搬到 google 并改名为 mybatis 。在三考虑下把ibatis 改成 mybatis的想萌发了。现在正在一点点的把项目转换成 mybatis。
 
1.下载c3p0
我们的项目是用的c3p0,配置文件也在,在mybatis中添加 c3p0 架文件。如果没有 c3p0的架包可以到 c3p0 官方下载就行。
2. 实现UnpooledDataSourceFactory
由于Mybatis 没有帮我们实现 c3p0 的数据连接池,所以我们需要自己实现 c3p0来加载数据连接池。我们只要继承UnpooledDataSourceFactory 并把 datasource 实现我们的 mybatis 就实实现了c3p0的数据连接池。 下面是我实现的方法 。
 
public class C3P0DataSourceFactory extends UnpooledDataSourceFactory {
    public C3P0DataSourceFactory() {
       this.dataSource = new ComboPooledDataSource();
    }
}
3.Mybatis-config.xml配置
Mybatis-config.xml 配置请到官方查看,下面的是c3p0 的数据源配置。
<dataSource type="org.mybatis.c3p0.C3P0DataSourceFactory">
           <!--
                 
                   更多c3p0 配置参数请到
                   http://www.mchange.com/projects/c3p0/index.html#configuration_properties
          
            -->
                  <property name="driverClass"value="com.mysql.jdbc.Driver"/>     
                  <property name="jdbcUrl"value="jdbc:mysql://localhost:3306/maps?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true&amp;failOverReadOnly=false"/>    
                  <property name="user"value="root"/>    
                  <property name="password"value="1"/>
                  <property name="initialPoolSize"value="3"/>
                  <property name="maxPoolSize"value="10"/>
                  <property name="minPoolSize"value="3"/>
                  <property name="acquireIncrement"value="5"/>
                  <property name="maxIdleTime"value="30"/>
                  <property name="maxIdleTimeExcessConnections"value="1200"/>
                  <property name="maxConnectionAge"value="27000"/>
                  <property name="maxStatements"value="500"/>
                  <property name="maxStatementsPerConnection"value="50"/>
                  <property name="numHelperThreads"value="5"/>
                  <property name="preferredTestQuery"value="SELECT 1"/>
           </dataSource>
 
页: [1]
查看完整版本: Mybatis C3P0 整合