现在的位置: 首页 > 综合 > 正文

Mybatis c3p0 整合

2018年06月08日 ⁄ 综合 ⁄ 共 1867字 ⁄ 字号 评论关闭

 

由于公司之前的项目使用的是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的数据连接池。下面是我实现的方法

 

publicclassC3P0DataSourceFactoryextendsUnpooledDataSourceFactory{

    publicC3P0DataSourceFactory(){

       this.dataSource
=newComboPooledDataSource();

    }

}

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>

 

抱歉!评论已关闭.