数据库连接池的使用方法
数据库连接池概述
基本介绍:
1、预先在缓冲区防止一定数量的连接,当需要建立连接时,只需要在“缓冲区”中取出一个,使用完毕之后放回去。
2、数据库连接池负责分配、管理和释放数据库的连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个连接。
3、当应用程序想连接池的请求连接超过最大数量时,这些请求将被加入到等待队列中
C3P0数据库连接池
速度相对较慢,稳定性还不错(hibernate、spring)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //第二种方式:使用配置文件模板来完成 //1、将c3p0提供的c3p0.config.xml 宝贝到src目录下 //2、该文件指定连接数据库和连接池的相关参数 @Test public void testC3P0_02() throws SQLException { ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource( "db_edu" ); Connection connection = null ; long satrt = System.currentTimeMillis(); for ( int i = 0 ; i < 5000 ; i++) { connection = comboPooledDataSource.getConnection(); connection.close(); } long end = System.currentTimeMillis(); System.out.println( "耗时:" + (end - satrt)); } |
Druid(德鲁伊)数据库连接池
Druid是阿里提供的数据库连接池,集DBCP、C3P0、Proxool优点与一身的数据库连接池
基于Druid的封装的工具类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | public class JDBCUtilsByDruid { private static DataSource ds; //数据源 //在静态代码块当中,完成ds初始化操作 static { Properties properties = new Properties(); try { properties.load( new FileInputStream( "src\\druid.properties" )); ds = DruidDataSourceFactory.createDataSource(properties); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } //编写getConnection方法 public static Connection getConnection() throws SQLException { return ds.getConnection(); } //关闭连接,在连接池当中说的关闭连接,是将连接放入到连接池当中 public static void closeConnection(ResultSet resultSet, Statement statement, Connection connection) { try { if (resultSet != null ) { resultSet.close(); } if (statement != null ) { statement.close(); } if (connection != null ) { connection.close(); } } catch (SQLException e) { //将编译异常转换为运行异常抛出 throw new RuntimeException(e); } } } |
__EOF__

本文作者:通过程序看世界
本文链接:https://www.cnblogs.com/dbcxy/p/16941080.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/dbcxy/p/16941080.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人