数据库连接池简介

顾名思义,数据库连接池本质上是个容器,负责分配和管理数据库连接——Connection,对标JDBC中的Conn对象。


一.简介 

如果不存在连接池,则每次访问数据库时都需要建立新的连接对象,并在访问结束后销毁。长此以往会造成不小的资源浪费(资源不能复用)。

为了解决资源复用的问题,事先开辟一片空间(池),存放好数据库连接资源,用户在访问数据库时可以直接从池子里拿出,用完后归还——大大降低了底层建立服务的开销。

 优点:

  • 资源重用
  • 提升系统响应速率
  • 避免数据库连接遗漏

常见的数据库连接池:

  • DBCP
  • C3P0
  • Druid(德鲁伊)

Connection不再由DriverManager来获取,而是用DataSourse的getConnection来获取。

二.Druid连接池

1.导入jar包

下载路径:Central Repository: com/alibaba/druidicon-default.png?t=N7T8https://repo1.maven.org/maven2/com/alibaba/druid/

2.定义配置文件

3.加载配置文件

Properties prop = new Properties();
prop.load(new FileInputStream(相对路径即可));

4.获取连接池对象

DataSource dataSource = DruidDataSourceFactory.createDateSource(prop);

5.获取数据库连接

Connection connection = dataSource.getConnection();

获取路径的方法:

System.out.println(System.getProperty(user.dir));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/450677.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

COCO数据集介绍

COCO数据集介绍 什么是COCO数据集? COCO数据集是一个可用于图像检测、语义分割和图像标题生成的大规模数据集。它有超过330K张图像(其中220K张是有标注的图像),包含150万个目标,80个目标类别(行人、汽车、…

【DDD】学习笔记-识别限界上下文实践

先启阶段的领域场景分析是一个艰难的过程,我们要从纷繁复杂的业务需求细节中抽象出全部的领域场景,并通过剖析这些场景来获得一致的领域概念,提炼出主要的用户活动,并转换为用统一语言表达的领域行为。在这个过程中,用…

MySQL知识点总结(四)——MVCC

MySQL知识点总结(四)——MVCC 三个隐式字段row_idtrx_idroll_pointer undo logread viewMVCC与隔离级别的关系快照读和当前读 MVCC全称是Multi Version Concurrency Control,也就是多版本并发控制。它的作用是提高事务的并发度,通…

微信小程序课设(基于云开发)

微信小程序通过Laf云平台接入ChatGPT实现聊天&#xff0c;回答方式采用流式回答。 以下是图片展示其页面 回答次数通过卡密兑换 以下是对话页面的代码 <!--pages/content/content.wxml--><view class"container"><view class"div" hidde…

Android学习之路(29) Gradle初探

前言: 大家回想一下自己第一次接触Gradle是什么时候&#xff1f; 相信大家也都是和我一样&#xff0c;在我们打开第一个AS项目的时候&#xff0c; 发现有很多带gradle字样的文件&#xff1a;setting.gradle, build.gradle,gradle.warpper,以及在gradle文件中各种配置&#xff…

前端vue/react项目压缩图片工具@yireen/squoosh-browser

想要在前端项目中压缩图片&#xff0c;然后再上传到后端保存&#xff0c;就需要一个压缩工具的帮助&#xff0c;暂时有两个依赖库可以选择&#xff1a;image-conversion和yireen/squoosh-browser&#xff0c;看了官方仓库地址和更新时间等详情&#xff0c;发现还是yireen/squoo…

简单说说mysql的日志

今天我们通过mysql日志了解mysqld的错误日志、慢查询日志、二进制日志&#xff0c;redolog, undolog等。揭示它们的作用和用途&#xff0c;让我们工作中更能驾驭mysql。 redo 日志 如果mysql事务提交后发生了宕机现象&#xff0c;那怎么保证数据的持久性与完整性&#xff1f;…

课时13:变量基础_变量场景

2.1.1 变量场景 学习目标 这一节&#xff0c; 我们从 数据存储、变量场景、小结 三个方面来学习。 数据存储 数据存储 所谓的数据存储&#xff0c;我们从三方面来理解这句话&#xff1a;1、数据保存到哪里 -- 各种媒介&#xff0c;CPU、内存、磁盘、磁带、网盘...2、数据保…

HTML音频标签

新增的语义化的标签&#xff1a; 即直接给了一个具象化的盒子。 新增的多媒体标签&#xff1a; 视频格式&#xff1a; 当都不支持的时候会显示文字。 video仍然是可以看成一个盒子。 音频格式&#xff1a; 新增的input 表单控件&#xff1a; 新增的表单属性&#xff1a; 提示文…

WebSocket学习笔记以及用户与客服聊天案例简单实现(springboot+vue)

一&#xff1a;介绍&#xff1a; 二&#xff1a;http协议与websocket对比&#xff1a; 三&#xff1a;websocket协议&#xff1a; 四&#xff1a;实现&#xff1a; 4.1客户端&#xff1a; 4.2服务端&#xff1a; 五&#xff1a;案例&#xff1a; 环境&#xff1a;做一个书店…

【JSON2WEB】04 amis低代码前端框架介绍

1 什么是 amis amis 是一个低代码前端框架&#xff0c;它使用 JSON 配置来生成页面&#xff0c;可以减少页面开发工作量&#xff0c;极大提升效率。 看到amis一句话的介绍&#xff0c;感觉就是JSON2WEB要找的前端框架。 amis是百度开源的框架&#xff0c;毕竟是大厂&#xff0c…

有限合伙协议书(模板)上

第一章 合伙的目的和合伙经营范围 第一条 合伙目的&#xff1a;为了适应市场经济的发展&#xff0c;满足市场需求&#xff0c;按照《合伙企业法》规范企业行为&#xff0c;合伙人本着公平、平等、互利的原则&#xff0c;成立 聚源企业管理中心&#xff08;有限合伙&am…