JDBC 数据库连接池

2016-08-13  本文已影响126人  _简书

基本思想

数据库连接池工作原理

优点

使用DBCP连接池

1.直接连接

    // 1.创建DBPC数据源实例
    BasicDataSource bds = null;
    bds = new BasicDataSource();

    // 2.设置数据库连接使用
    bds.setUsername("root");
    bds.setPassword("root");
    bds.setUrl("jdbc:mysql://127.0.0.1:3306/test1");
    bds.setDriverClassName("com.mysql.jdbc.Driver");

    // 3.指定数据库连接池属性
    // 3.1.设置初始连接数
    bds.setInitialSize(10);

    // 3.2.指定最大连接数,同一时刻向数据库申请的链接数和空闲的最大数
    bds.setMaxTotal(50);

    // 3.3.指定最小链接数:在数据库连接池中保存的最小的空闲连接的数量
    bds.setMinIdle(5);

    // 3.4.等待分配连接的最长时间,单位毫秒,超出则报异常
    bds.setMaxWaitMillis(1000 * 5);
    
    //4.从数据库获取连接
    Connection conn = bds.getConnection();

2.工厂方式连接

    String fileName = "dbcp.properties";
    Properties properties = new Properties();
    
    InputStream is = JDBCtest.class.getClassLoader().getResourceAsStream(fileName);
    properties.load(is);
    
    BasicDataSource bds = BasicDataSourceFactory.createDataSource(properties);
    Connection conn = bds.getConnection();

注:数据库连接池初始化一次
private static DataSource dataSource = null;
static { dataSource = BasicDataSourceFactory.createDataSource(properties);}
conn关闭时并不是真的关闭,而是归还给数据库连接池

上一篇 下一篇

猜你喜欢

热点阅读