栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

C3P0、DBCP、Druid数据库连接池的使用

C3P0、DBCP、Druid数据库连接池的使用

package C3P0ConnectionPool;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.junit.Test;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;


public class C3P0Test {

    //方式一:纯Java代码
    @Test
    public void TestGetConnection1() throws PropertyVetoException, SQLException {
        //获取C3P0数据库连接池
        ComboPooledDataSource cpds = new ComboPooledDataSource();
        cpds.setDriverClass( "com.mysql.jdbc.Driver" ); //loads the jdbc driver
        cpds.setJdbcUrl( "jdbc:mysql://localhost:3306/cc" );
        cpds.setUser("root");
        cpds.setPassword("root");
        //可以设置相关参数,对连接池进行管理
        //如设置初始连接池的连接数
        cpds.setInitialPoolSize(10);
        //获取连接
        Connection connection = cpds.getConnection();
        System.out.println(connection);
//        销毁连接池,一般不会这么干
//        DataSources.destroy(cpds);
    }


    //方式二:使用配置文件
    @Test
    public void TestGetConnection2() throws SQLException {
        ComboPooledDataSource cpds = new ComboPooledDataSource("helloc3p0");
        Connection connection = cpds.getConnection();
        System.out.println(connection);
    }
}



    
        
        com.mysql.jdbc.Driver
        jdbc:mysql://localhost:3306/cc
        root
        root

        
        
        5
        
        10
        
        10
        
        100
        
        50
        
        2

    


package DBCPConnectionPool;


import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
import org.junit.Test;

import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;


public class DBCPTest {

    //方式一:
    @Test
    public void TestGetConnection() throws SQLException {
        //创建了DBCP数据库连接池
        BasicDataSource source =new BasicDataSource();

        //设置基本信息
        source.setDriverClassName("com.mysql.jdbc.Driver");
        source.setUrl("jdbc:mysql://localhost:3306/cc");
        source.setUsername("root");
        source.setPassword("root");

        //还可以设置其他涉及数据库连接池管理的相关属性
        source.setInitialSize(10);

        Connection connection = source.getConnection();
        System.out.println(connection);
    }

    //方式二:使用配置文件(推荐)
    @Test
    public void TestGetConnection1() throws Exception {
        Properties properties = new Properties();

//        //方式一:
//        InputStream resourceAsStream = ClassLoader.getSystemClassLoader().getResourceAsStream("DBCP.peoperties");
//        properties.load(resourceAsStream);

        //方式二:
        FileInputStream fileInputStream = new FileInputStream(new File("src/DBCP.properties"));
        properties.load(fileInputStream);

        BasicDataSource dataSource = BasicDataSourceFactory.createDataSource(properties);

        Connection connection = dataSource.getConnection();
        System.out.println(connection);
    }
}

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/cc
username=root
password=root
initialSize=10
package DruidConnectionPool;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.junit.Test;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;


public class DruidTest {

    @Test
    public void GetConnection() throws Exception {
        Properties properties = new Properties();
        InputStream resourceAsStream = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
        properties.load(resourceAsStream);
        DataSource source = DruidDataSourceFactory.createDataSource(properties);
        Connection connection = source.getConnection();
        System.out.println(connection);
    }
}

url=jdbc:mysql:///cc
username=root
password=root
driverClass=com.mysql.jdbc.Driver
initialSize=10
maxActive=10
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号