Mybatis C3P0 整合

本文介绍如何将原有的iBatis+C3P0项目迁移到MyBatis,并详细讲解了在MyBatis中集成C3P0的具体步骤。包括C3P0数据源配置、自定义数据源工厂实现及MyBatis配置文件设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于公司之前的项目使用的是 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 >

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值