• 数据库连接池


    一.数据库连接池

    概述:
      复杂的数据库应用, 频繁的建立,关闭连接,会极大的降低系统的性能,造成了系统性能的瓶颈
      此时可以使用数据连接池,可以创建指定数量的连接保存到池(容器)里面,
      之后要使用连接的时候直接从池中获取,使用完毕之后就回收到池中,
      简单说就是把连接交给连接池去管理,保证了需要使用连接的时候不再重新创建,也保证了连接可以重复使用

    连接池的种类:
      常见的有 Druid 还有 dbcp, 尤其适合Sping 整合使用
      Druid 性能更高, 是阿里巴巴开发的, 还可以实现性能的检测, 比如可以实现慢查询的观测.

    Demo: Druid 连接池管理连接
      1. 下载 Druid 的 jar
      2.将 Druid 的jar 添加到项目中
      3.定义出连接池工具类 (管理连接对象)

     1 public class DruidConnection {
     2     //实例化一个数据源对象
     3     private static DruidDataSource dataSource = new DruidDataSource();
     4     //使用静态代码块为数据源对象初始化值 
     5     static {
     6         //配置连接地址
     7         dataSource.setUrl("jdbc:mysql://localhost:3306/demo?useSSL=true&useUnicode=true&characterEncoding=UTF-8");
     8         //用户名
     9         dataSource.setUsername("root");
    10         //密码
    11         dataSource.setPassword("1234");
    12         //驱动地址
    13         dataSource.setDriverClassName("com.mysql.jdbc.Driver");
    14         //初始化连接大小
    15         dataSource.setInitialSize(2);
    16         //连接池最大使用连接数量
    17         dataSource.setMaxActive(20);
    18         //获取连接最大等待时间
    19         dataSource.setMaxWait(3000);
    20     }
    21     /**
    22      *    连接重连接池中获取
    23      * @return
    24      */
    25     public static Connection getConnection() {
    26         try {
    27             return dataSource.getConnection();
    28         } catch (SQLException e) {
    29             e.printStackTrace();
    30         }
    31         return null;
    32     }
    33     
    34     public static void close(Connection conn) {
    35         if (conn != null) {
    36             try {
    37                 //间接回收到连接池中
    38                 conn.close();
    39             } catch (SQLException e) {
    40                 e.printStackTrace();
    41             }
    42         }
    43     }
    44 }
  • 相关阅读:
    pymsql及事务
    MySQL表的操作
    MySQL操作
    epoll、mysql概念及简单操作
    IO模型
    面向对象4
    面向对象3
    面向对象2
    练习——网络编程2
    练习——网络编程
  • 原文地址:https://www.cnblogs.com/yslf/p/10732174.html
Copyright © 2020-2023  润新知