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

    C3P0连接池:

             最常用的连接池技术!Spring框架,默认支持C3P0连接池技术!

    C3P0连接池,核心类:

             CombopooledDataSource ds;

    使用:

    1. 下载,引入jar文件:  c3p0-0.9.1.2.jar
    2. 使用连接池,创建连接

    a)         硬编码方式

    b)         配置方式(xml)


    package com.loaderman.demo.d_c3p0;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import org.junit.Test;
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    public class App {
    
        @Test
        //1. 硬编码方式,使用C3P0连接池管理连接
        public void testCode() throws Exception {
            // 创建连接池核心工具类
            ComboPooledDataSource dataSource = new ComboPooledDataSource();
            // 设置连接参数:url、驱动、用户密码、初始连接数、最大连接数
            dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/jdbc_demo");
            dataSource.setDriverClass("com.mysql.jdbc.Driver");
            dataSource.setUser("root");
            dataSource.setPassword("root");
            dataSource.setInitialPoolSize(3);
            dataSource.setMaxPoolSize(6);
            dataSource.setMaxIdleTime(1000);
    
            // ---> 从连接池对象中,获取连接对象
            Connection con = dataSource.getConnection();
            // 执行更新
            con.prepareStatement("delete from admin where id=7").executeUpdate();
            // 关闭
            con.close();
        }
    
        @Test
        //2. XML配置方式,使用C3P0连接池管理连接
        public void testXML() throws Exception {
            // 创建c3p0连接池核心工具类
            // 自动加载src下c3p0的配置文件【c3p0-config.xml】
            ComboPooledDataSource dataSource = new ComboPooledDataSource();// 使用默认的配置
            PreparedStatement pstmt = null;
    
            // 获取连接
            Connection con = dataSource.getConnection();
            for (int i=1; i<11;i++){
                String sql = "insert into employee(empName,dept_id) values(?,?)";
                // 执行更新
                pstmt = con.prepareStatement(sql);
                pstmt.setString(1, "Rose" + i);
                pstmt.setInt(2, 1);
                pstmt.executeUpdate();
            }
            pstmt.close();
            // 关闭
            con.close();
        }
    }

    c3p0-config.xml

    <c3p0-config>
        <default-config>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/jdbc_demo
            </property>
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="user">root</property>
            <property name="password">root</property>
            <property name="initialPoolSize">3</property>
            <property name="maxPoolSize">6</property>
            <property name="maxIdleTime">1000</property>
        </default-config>
        <named-config name="oracle_config">
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/jdbc_demo</property>
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="user">root</property>
            <property name="password">root</property>
            <property name="initialPoolSize">3</property>
            <property name="maxPoolSize">6</property>
            <property name="maxIdleTime">1000</property>
        </named-config>
    </c3p0-config>
  • 相关阅读:
    JBDC链接数据库
    js操作BOM对象
    打印倒正三角形
    window.onload事件
    js动态改变样式属性(className属性)
    js动态改变样式属性(style属性)
    js操作DOM对象(节点的增删改)
    easygen通用代码生成框架[开源]
    什么是真正的幸福与成功
    JVM学习笔记八:线程安全与锁优化
  • 原文地址:https://www.cnblogs.com/loaderman/p/10018761.html
Copyright © 2011-2022 走看看