zoukankan      html  css  js  c++  java
  • 连接池

    1、连接池概述

    用池来管理Connection,这样可以重复使用Connection。有了池,就不需要自己创建连接,只需要通过池来获取Connection对象。当Connection使用完毕后,再讲Connection归还给池。池可以再次利用这个Connection对象。

    Java为数据库连接池提供了公共的接口:javax.sql.DataSource。

    常见连接池:DBCP、C3P0。

    2、DBCP连接池

    DBCP是一个开源的连接池,是Apache Common成员之一,是Tomcat内置的连接池。

    DataSource:它是java中提供的连接池,作为DriverManager工具的替代项。在DBCP包中提供了DataSource接口的实现类,具体的连接池是BasicDataSource类。

    工具类常见配置项

    分类 属性 描述
    必须项 driverClassName 数据库驱动名称
    url 数据库地址
    username 用户名
    password 密码
    可选项 maxActive 最大连接数量
    minIdle 最小空闲数量
    maxIdle 最大空闲数量
    initialSize 初始化连接

    工具类

     1 package datasource;
     2 
     3 import javax.sql.DataSource;
     4 
     5 import org.apache.commons.dbcp.BasicDataSource;
     6 
     7 /**
     8  * <p>Description:连接池工具类 </p>
     9  * @author Administrator
    10  * @date 2018年11月6日下午2:05:42
    11  */
    12 public class JDBCUtils {
    13     public static final String DRIVER = "com.mysql.jdbc.Driver";
    14     public static final String URL = "jdbc:mysql://localhost:3306/jdbctest";
    15     public static final String USERNAME = "root";
    16     public static final String PASSWORD = "root";
    17     /*
    18      * 创建连接池对象
    19      */
    20     public static BasicDataSource dataSource = new BasicDataSource();
    21     // 静态代码块
    22     static {
    23         // 对连接池进行基本配置
    24         dataSource.setDriverClassName(DRIVER);
    25         dataSource.setUrl(URL);
    26         dataSource.setUsername(USERNAME);
    27         dataSource.setPassword(PASSWORD);
    28         // 可选配置
    29         dataSource.setInitialSize(10);    // 初始化的连接数
    30         dataSource.setMaxActive(8);        // 最大连接数量
    31         dataSource.setMaxIdle(5);        // 最大空闲数
    32         dataSource.setMinIdle(1);        // 最小空闲
    33     }
    34     /*
    35      * 返回连接池对象
    36      */
    37     public static DataSource getDataSource() {
    38         return dataSource;
    39     }
    40 }

    工具类使用演示

     1 package datasource;
     2 
     3 import java.sql.SQLException;
     4 
     5 import org.apache.commons.dbutils.QueryRunner;
     6 
     7 /**
     8  * <p>Description:使用DBCP获得连接的工具类测试 </p>
     9  * @author Administrator
    10  * @date 2018年11月6日下午2:13:43
    11  */
    12 public class DBCPDemo {
    13 
    14     public static void main(String[] args) throws SQLException {
    15         // 创建sql执行对象
    16         QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
    17         // sql语句
    18         String sql = "update sort set sprice=? where sname=?";
    19         // 设置实际参数
    20         Object[] params = {80,"算法"};
    21         // 执行sql语句
    22         int row = qr.update(sql, params);
    23         System.out.println(row);
    24     }
    25 
    26 }
  • 相关阅读:
    Java面试知识点总结
    Log4j常用配置及使用
    Eclipse+tomcat+axis2进行web service部署
    iframe内点击a标签禁止滚动到顶部
    VScode首选项
    Bookmarks
    VScode常用插件
    slideout
    bs-loading
    iPhone X 上删除白条
  • 原文地址:https://www.cnblogs.com/alphajuns/p/9915170.html
Copyright © 2011-2022 走看看