当前位置:网站首页>Druid 数据库连接池 详解
Druid 数据库连接池 详解
2022-07-06 11:22:00 【斯文~】
推荐阅读:JDBC详解
概述
1.数据库连接池是个容器,负责分配、管理数据库连接(Connection);
2.它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;
3.释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏;
可以类比线程池去理解。
优点
1.资源重用
2.提升系统响应速度
3.避免数据库连接遗漏
连接池是在一开始就创建好了一些连接(Connection)对象存储起来。用户需要连接数据库时,不需要自己创建连接,而只需要从连接池中获取一个连接进行使用,使用完毕后再将连接对象归还给连接池;这样就可以起到资源重用,也节省了频繁创建连接销毁连接所花费的时间,从而提升了系统响应的速度。
常见的数据库连接池: DBCP、C3P0、Druid
我们现在使用更多的是Druid,它的性能比其他两个会好一些。
Druid连接池是阿里巴巴开源的数据库连接池项目,功能强大,性能优秀,是Java语言最好的数据库连接池之一。
数据库连接池实现
标准接口:DataSource
官方(SUN) 提供的数据库连接池标准接口,由第三方组织实现此接口。该接口提供了获取连接的功能:Connection getConnection()
那么以后就不需要通过 DriverManager
对象获取 Connection
对象,而是通过连接池(DataSource)获取 Connection
对象。
Driud使用流程
1.导入jar包 druid-1.1.12.jar
2.定义配置文件 druid.properties
3.加载配置文件
4.获取数据库连接池对象
5.获取连接
代码示例
配置文件druid.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/sd?useSSL=false&useServerPrepStmts=true
username=root
password=root
# 初始连接数
initialSize=5
# 最大连接数
maxActive=10
# 最大等待时间
maxWait=3000
Java代码
public static void main(String[] args) throws Exception {
//1.导入jar包
//2.定义配置文件
//3. 加载配置文件
Properties prop=new Properties();
prop.load(new FileInputStream("C:\\Users\\斯文\\Desktop\\Java\\demo\\index\\src\\druid.properties"));
//4. 获取连接池对象
DataSource dataSource= DruidDataSourceFactory.createDataSource(prop);
//5. 获取数据库连接 Connection
Connection conn=dataSource.getConnection();
//6.操作数据库
String sql = "select * from st";
Statement stmt=conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println(id + " " + name + " " + age);
}
}
推荐阅读:JDBC详解
边栏推荐
- Word如何显示修改痕迹
- Intelligent supply chain management system solution for hardware and electromechanical industry: digital intelligent supply chain "creates new blood" for traditional industries
- How to improve website weight
- Synchronous development of business and application: strategic suggestions for application modernization
- 一种用于夜间和无袖测量血压手臂可穿戴设备【翻译】
- The second day of rhcsa study
- 全套教学资料,阿里快手拼多多等7家大厂Android面试真题
- 多线程基础:线程基本概念与线程的创建
- openmv4 学习笔记1----一键下载、图像处理背景知识、LAB亮度-对比度
- [translation] a GPU approach to particle physics
猜你喜欢
Video based full link Intelligent Cloud? This article explains in detail what Alibaba cloud video cloud "intelligent media production" is
php+redis实现超时取消订单功能
第五期个人能力认证考核通过名单公布
Based on butterfly species recognition
Noninvasive and cuff free blood pressure measurement for telemedicine [translation]
Binary search tree
关于静态类型、动态类型、id、instancetype
包装行业商业供应链管理平台解决方案:布局智慧供应体系,数字化整合包装行业供应链
Intelligent supply chain management system solution for hardware and electromechanical industry: digital intelligent supply chain "creates new blood" for traditional industries
二叉搜索树
随机推荐
Lucun smart sprint technology innovation board: annual revenue of 400million, proposed to raise 700million
上海部分招工市場對新冠陽性康複者拒絕招錄
C#/VB. Net to add text / image watermarks to PDF documents
helm部署etcd集群
How to improve website weight
包装行业商业供应链管理平台解决方案:布局智慧供应体系,数字化整合包装行业供应链
Understanding disentangling in β- VAE paper reading notes
Qlabel marquee text display
2022.2.12
安装Mysql报错:Could not create or access the registry key needed for the...
Computer network: sorting out common network interview questions (I)
Oracle advanced (IV) table connection explanation
C language daily practice - day 22: Zero foundation learning dynamic planning
驼峰式与下划线命名规则(Camel case With hungarian notation)
AUTOCAD——中心线绘制、CAD默认线宽是多少?可以修改吗?
Jushan database was among the first batch of financial information innovation solutions!
Synchronous development of business and application: strategic suggestions for application modernization
Pychrm Community Edition calls matplotlib pyplot. Solution of imshow() function image not popping up
Master Xuan joined hands with sunflower to remotely control enabling cloud rendering and GPU computing services
Video based full link Intelligent Cloud? This article explains in detail what Alibaba cloud video cloud "intelligent media production" is