首页 > 数据库技术 > 详细

数据库连接池

时间:2019-04-18 20:43:50      阅读:150      评论:0      收藏:0      [点我收藏+]

一.数据库连接池

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

连接池的种类:
  常见的有 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 }

 

数据库连接池

原文:https://www.cnblogs.com/yslf/p/10732174.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!