1702-MySQL-C3P0连接池实例


1.配置

加载c3p0-0.9.1.2.jar包
设置c3p0-config.xml 配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- 默认配置 -->
  <default-config>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql:///test</property>
    <property name="user">root</property>
    <property name="password">root</property>
    <property name="initialPoolSize">5</property>
    <property name="maxPoolSize">20</property>
  </default-config>
  
  <named-config name="oracle"> 
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql:///test</property>
    <property name="user">root</property>
    <property name="password">root</property>
  </named-config> 
  </c3p0-config>

2,Test

package com.it.jdbc.TestDataSoure;

import java.sql.Connection;
import java.sql.PreparedStatement;
import org.junit.Test;
import com.it.jdbc.DataSoure.MyDataSoure;
import com.it.jdbc.utils.C3P0Utils;
import com.it.jdbc.utils.JDBCUtils_V3;

public class TestC3P0 {
    @Test
    public void testAdduser1() {
    Connection conn = null;
    PreparedStatement pstmt = null;
    // 自定义连接池对象
    try {
        // 从连接池获得链接
        conn = C3P0Utils.getConnection();
        String sql = "insert into use1 value(null,?,?)";
        pstmt =conn.prepareStatement(sql);
        pstmt.setString(1, "何一");
        pstmt.setString(2, "李二");
        int rows = pstmt.executeUpdate();
        if (rows > 0) {
            System.out.println("添加成功");
        } else {
            System.out.println("添加失败");
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    } finally {
        JDBCUtils_V3.release(conn, pstmt, null);
    }
}
}

3.添加工具类C3P0Utils:

package com.it.jdbc.utils;

import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;

public class C3P0Utils {
        private static ComboPooledDataSource dataSoure = new ComboPooledDataSource();//默认配置,classpath目录下
        //ComboPooledDataSource pool = new ComboPooledDataSource("hh")
        //或加载“c3p0-config.xml”的配置元素"hh"
         for(int i=0;i<25;i++){

        private static DataSource getDataSource(){
            return dataSoure;
        }
        public static Connection getConnection(){
            try {
                return dataSoure.getConnection();
            } catch (SQLException e) {
                throw new RuntimeException();
            }
        }
}

凌晨记

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,131评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,993评论 6 342
  • 本文包括传统JDBC的缺点连接池原理自定义连接池开源数据库连接池DBCP连接池C3P0连接池Tomcat内置连接池...
    廖少少阅读 16,816评论 0 37
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • “见到真正值得仰慕的人,我内心的黑暗漩涡,反而又褪去。我会被一些不够格的事物打败,又因为真正美而优秀的榜样让自己打...
    w解夏阅读 186评论 0 0