zoukankan      html  css  js  c++  java
  • MyBatis配置C3P0连接池

    一、导包

    • c3p0包    
    • mybatis包
    • 数据库的连接包

     二、继承UnpooledDataSourceFactory的类

     Mybatis 没有帮开发者实现 c3p0 数据库连接池,故需要使用者自己实现 c3p0 来加载数据连接池。其实很简单的,只要继承 UnpooledDataSourceFactory 并把 dataSource 实现。我们的 mybatis 就实现了 c3p0 数据库连接池。

    import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    public class c3p0DataSourceFactory extends UnpooledDataSourceFactory{
        public c3p0DataSourceFactory(){
            this.dataSource=new ComboPooledDataSource();
        }
    }

    三、mybatis-config.xml全局配置文件配置c3p0

         <environments default="mysql">
             <environment id="mysql">
                 <transactionManager type="JDBC"></transactionManager>
                 <dataSource type="com.demo.utils.c3p0DataSourceFactory">
                     <property name="driverClass" value="${jdbc.driver}"/>
                     <property name="jdbcUrl" value="${jdbc.url}"/>
                     <property name="user" value="${jdbc.username}"/>
                     <property name="password" value="${jdbc.password}"/>
                     <property name="initialPoolSize" value="5"/>
                     <property name="maxPoolSize" value="20"/>
                     <property name="minPoolSize" value="5"/>
                 </dataSource>
             </environment>
         </environments>

    注意:

    1. dataSource的type必须是实现了UnpooledDataSourceFactory的类的全类名,也就是第二步实现的类的全类名。
    2. property下的name必须是规范的c3p0的driverClass、jdbcUrl、user等值。
    3. property下的value是引入的db.properties中的数据。

    另外:

    mybatis-config.xml全局配置文件中引入外部数据库文件db.properties的语句。(在configuration属性下;resource为引用的路径名,切莫引用错误)

    <properties resource="db.properties"></properties>

    db.properties文件的内容:(等号左边的属性名可以任意定义,但最好能见名知意)

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/databaseName?characterEncoding=UTF-8
    jdbc.username=username
    jdbc.password=password
  • 相关阅读:
    day67——前后端传输数据的编码格式、ajax传json数据/传文件、批量插入
    day66——choices参数、MTV/MVC模型、三种创建多对多的方式、AJAX
    day65——聚合函数、分组查询、F与Q查询、django开事务、orm查询优化
    dayⅢ、基本数据类型+运算符作业
    dayⅡ:编程语言+变量+垃圾回收制
    dayⅡ:变量作业
    dayⅠ:计算机基础知识
    ⅩⅥ:无参装饰器
    ⅩⅤ:作业
    ⅩⅤ:名称空间与作用域
  • 原文地址:https://www.cnblogs.com/AuKing/p/8324427.html
Copyright © 2011-2022 走看看