• C3P0连接技术


    1.导入jar包(两个)

    c3p0-0.9.5.2.jar和mchange-commons-java-0.2.12.jar
    导入数据库驱动jar包

    2.定义配置文件

    配置文件名称:c3p0.properties 或者 c3p0-config.xml(叫这两个名称会自动寻找文件)
    路径:默认在项目类路径(指的是在src下)

    3.获取数据库连接池对象

    创建核心对象 
    数据库连接池对象ComboPooledDataSource 【DataSource 连接池、数据源】
    ComboPooledDataSource什么都不传使用默认的(使用较多)
    DataSource ds = new ComboPooledDataSource();
    指定名称可以使用指定配置
    DataSource ds = new ComboPooledDataSource("otherc3p0");

    4.获取连接:getConnection


     获取连接对象

    package cn.itcust.datasource.c3p0;
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    import javax.sql.DataSource;
    import java.sql.Connection;
    import java.sql.SQLException;
    
    /**
     * c3p0的演示
     * */
    public class C3P0Demo1 {
        public static void main(String[] args) throws SQLException {
            //1.导包
            //2.写配置文件
            //3.创建数据库连接池对象
            DataSource ds = new ComboPooledDataSource();
            //4.获取连接池对象
            Connection conn = ds.getConnection();
            //5.打印连接对象。字符串的形式展示获取到了。报错,null没获取到
            System.out.println(conn);
        }
    }
    

    输出的内容

    JDBC4Connection类名
    12bc6874哈希扣的值

    package cn.itcust.datasource.c3p0;
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    import javax.sql.DataSource;
    import java.sql.Connection;
    import java.sql.SQLException;
    
    /**
     * c3p0演示,连接参数
     */
    public class C3P0Demo2 {
        public static void main(String[] args) throws SQLException {
            testNamedConfig();
        }
    
        public static void testNamedConfig() throws SQLException {//为了方便调用设置为静态的
            //获取DataSource,使用指定名称配置
            DataSource ds = new ComboPooledDataSource("otherc3p0");
            //2.获取连接
            for (int i = 1; i < 11; i++) {
                Connection conn = ds.getConnection();
                System.out.println(i + ":" + conn);
            }
        }
    }

     配置文件

    <c3p0-config>
        <!-- 使用 默认-配置 读取连接池对象 -->
        <default-config>
            <!--  连接参数 -->
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <!--注册驱动-->
    
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/db4</property>
            <!--数据库连接对象的 地址-->
    
            <property name="user">root</property>
            <!--数据库连接对象的 用户名称-->
    
            <property name="password">ROOT</property>
            <!--数据库连接对象的 用户密码-->
    
    
            <!-- 连接池参数 -->
            <property name="initialPoolSize">5</property>
            <!--初始化申请连接的数量-->
    
            <property name="maxPoolSize">10</property>
            <!--最大的连接数量-->
            <!--同时进来的10个人会把连接对象用完,精确到毫秒,这个根据数据库的最大连接数量和电脑的性能设置-->
    
            <property name="checkoutTimeout">3000</property>
            <!--申请不到对象等待3秒 报超时时间-->
        </default-config>
    
    
        <!--c3p0配置文件很人性化,可以通过一个配置文件操作不同数据库
    
        -->
        <named-config name="otherc3p0">
            <!--  连接参数 -->
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/girls</property>
            <property name="user">root</property>
            <property name="password">ROOT</property>
    
            <!-- 连接池参数 -->
            <property name="initialPoolSize">5</property>
            <property name="maxPoolSize">8</property>
            <property name="checkoutTimeout">1000</property>
        </named-config>
    </c3p0-config>
  • 相关阅读:
    基于C#.NET C/S架构的生产看板管理系统软件开发框架平台
    VS.NET后端框架,C#.NET开发的服务器端开发框架
    开源.NET开发架构.NET管理系统框架-原创作品
    开源.NET开发架构 .NET管理系统框架
    基于MVC架构的WebApi服务端开发框架核心优势|C/S框架网原创作品
    基于C#.NET三层架构物流运输管理系统(TMS)-C/S框架网原创作品
    C#Winform+SQL开发的基于C/S架构大型ERP系统
    MES系统框架及MES开源框架|C/S框架网软著产品
    C#.NET程序升级框架之软件版本自动升级系统
    原创C/S应用程序开发平台与.NET快速开发框架
  • 原文地址:https://www.cnblogs.com/rijiyuelei/p/12376881.html
Copyright © 2020-2023  润新知