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 >

 

猜你喜欢

转载自xiegqooo.iteye.com/blog/1755169