Java

11.数据连接池

2017-04-18  本文已影响67人  孔垂云

数据连接池的原理就是解决多次连接数据库的性能损耗,建立一个pool,用来存储数据库连接,需要的时候直接从连接池获取,而不需要再次和数据库建立连接。
目前常用的数据连接池(简称数据源)有以下几种:

首先需要在pom.xml添加druid依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.25</version>
        </dependency>

代码如下:

public class DataSourceTest {
    public static void main(String[] args)throws  Exception {
        Hashtable<String, String> map = new Hashtable<String, String>();
        map.put("driverClassName", "com.mysql.jdbc.Driver");
        map.put("url", "jdbc:mysql://127.0.0.1/test");
        map.put("username", "root");
        map.put("password", "root");
        map.put("initialSize", "2");
        map.put("maxActive", "10");
        DataSource dataSource = DruidDataSourceFactory.createDataSource(map);
        long l = System.currentTimeMillis();
        for (int i = 0; i < 1000; i++) {
            Connection conn = dataSource.getConnection();
            conn.close();
        }
        System.out.println("连接池执行时间:" + (System.currentTimeMillis() - l));

        long l2 = System.currentTimeMillis();
        for (int i = 0; i < 1000; i++) {
            Connection conn = new JdbcTest().getConn();
            conn.close();
        }
        System.out.println("JDBC连接执行时间:" + (System.currentTimeMillis() - l2));
    }
}

可以看出使用连接池获取数据库连接的时间远远小于直接连接数据库。

源码下载

本例子详细源码

上一篇 下一篇

猜你喜欢

热点阅读