连接池(三)开源连接池技术(C3P0)

    xiaoxiao2021-04-19  170

    开源连接池技术(C3P0)

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

    C3P0连接池核心类:CombopooledDataSource

    使用:

    下载引入jar文件:c3p0-0.9.1.2.jar创建核心类引入配置(代码中直接配置/加载配置文件)

    代码中直接配置

    /** * 硬编码方式,使用c3p0连接池管理 * @throws Exception */ @Test public void testCode() throws Exception{ // 创建连接池核心工具类 ComboPooledDataSource dataSource = new ComboPooledDataSource(); // 设置参数:url,username,password,初始连接数、最大连接数 dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test"); 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 stu where id=2").executeUpdate(); // 关闭 con.close(); }

    引入配置文件

    /** * XML配置方式 * 创建c3p0核心工具类 * 自动加载src下的配置文件(在c3p0的源码中寻找c3p0-config.xml) * @throws Exception * */ @Test public void testXML() throws Exception{ // 创建c3p0连接池核心工具类 // 自动加载src下c3p0的配置文件 ComboPooledDataSource dataSource = new ComboPooledDataSource(); // 获取连接 Connection con = dataSource.getConnection(); // 执行更新 con.prepareStatement("insert into stu(id,name) values(2,'Tom')").executeUpdate(); // 关闭连接 con.close(); }

    配置文件c3p0-config.xml

    <c3p0-config> <default-config> <property name="jdbcUrl">jdbc:mysql://localhost:3306/test</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="maxIdleTime">1000</property> <property name="maxPoolSize">6</property> </default-config> </c3p0-config>

    连接池一般希望在程序中只加载一次,可以使用静态代码块

    转载请注明原文地址: https://ju.6miu.com/read-676129.html

    最新回复(0)