zoukankan      html  css  js  c++  java
  • MySQL-第十五篇使用连接池管理连接

    1、数据库连接池的解决方案是:

       当应用程序启动时,系统主动建立足够的数据库连接,并将这些连接组成一个连接池。每次应用程序请求数据库连接时,无需重新打开连接,而是从连接池中取出已有的连接使用,使用完后不再关闭数据库连接,而是直接将连接归还给连接池。

    2、数据库连接池是Connection对象的工厂。JDBC数据库连接池使用javax.sql.DataSource(数据源)来表示,DataSource只是一个接口,其开源的实现有DBCP、C3P0等。

    3、DBCP数据源

       相关的jar文件:

          1》commons-dbcp.jar:连接池的实现。

          2》commons-pool.jar:连接池实现依赖库。

       一种连接方式举例:

    //创建数据源对象
    BasicDataSource ds=new BasicDataSource();
    //设置驱动
    ds.setDriverClassName("com.mysql.jdbc.Driver");
    //设置连接数据库的url
    ds.setUrl("jdbc:mysql://localhost:3306/world");
    //设置连接数据库的用户名
    ds.setUsername("root");
    //设置连接数据库的密码
    ds.setPassword("1234");
    //设置连接池的初始连接数
    ds.setInitialSize(5);
    //设置连接池最多可有多少个活动连接数
    ds.setMaxActive(20);
    //设置连接池中最少有2个空闲的连接
    ds.setMinIdle(2);

       整个应用只需要一个数据源。关于使用:

    //通过数据源获取数据库连接
    Connection conn=ds.getConnection();

       数据库访问结束后,还是像往常一样关闭数据库连接。

    //释放数据库连接。实际是归还到连接池。
    conn.close();

    4、C3P0数据源

      C3P0可以自动清理不再使用的Connection,还可以自动清理Statement和ResultSet。

      jar包:c3p0-0.9.1.2.jar

      连接方式举例:

    //创建数据源对象
    ComboPooledDataSoruce ds=new ComboPooledDataSoruce();
    //设置驱动
    ds.setDriverClassName("com.mysql.jdbc.Driver");
    //设置连接数据库的url
    ds.setUrl("jdbc:mysql://localhost:3306/world");
    //设置连接数据库的用户名
    ds.setUsername("root");
    //设置连接数据库的密码
    ds.setPassword("1234");
    //设置连接池最大连接数
    ds.setMaxPoolSize(40);
    //设置连接池最小连接数
    ds.setMinPoolSize(10);
    //设置连接池的初始连接数
    ds.setInitialPoolSize(10);
    //设置连接池中的缓存Statement的最大数
    ds.setMaxStatements(180);

       整个应用只需要一个数据源。关于使用:

    //通过数据源获取数据库连接
    Connection conn=ds.getConnection();

       数据库访问结束后,还是像往常一样关闭数据库连接。

    //释放数据库连接。实际是归还到连接池。
    conn.close();
  • 相关阅读:
    115. Distinct Subsequences
    Kafka介绍-copy
    Flume的简单介绍-copy
    storm简介、原理、概念-copy
    日志管理ELK-copy
    安装Nginx+Lua+OpenResty
    Nginx(四)------nginx 负载均衡-copy
    Nginx(一)------简介与安装-copy
    Nginx(二)nginx.conf 配置文件-copy
    Nginx(三)nginx 反向代理-copy
  • 原文地址:https://www.cnblogs.com/ZeroMZ/p/11373030.html
Copyright © 2011-2022 走看看