当前位置:网站首页>Druid database connection pool details
Druid database connection pool details
2022-07-06 19:20:00 【Gentle ~】
Recommended reading :JDBC Detailed explanation
List of articles
summary
1. Database connection pool is a container , To be responsible for the distribution of 、 Manage database connections (Connection);
2. It allows applications to reuse an existing database connection , Instead of building a new ;
3. Release database connection with idle time exceeding the maximum idle time to avoid missing database connection caused by no free database connection ;
It can be understood by analogy with thread pool .
advantage
1. Resource reuse
2. Improve system response speed
3. Avoid missing database connections

Connection pool is to create some connections at the beginning (Connection) Objects stored . When users need to connect to the database , You don't need to create your own connection , You only need to get a connection from the connection pool for use , Return the connection object to the connection pool after use ; In this way, we can reuse resources , It also saves time for frequent connection creation and connection destruction , Thus, the response speed of the system is improved .
Common database connection pool : DBCP、C3P0、Druid
Now we use more Druid, Its performance will be better than the other two .
Druid Connection pool is an open source database connection pool project of Alibaba , Powerful , Excellent performance , yes Java One of the best database connection pools in language .
Database connection pool implementation
Standard interface :DataSource
official (SUN) Database connection pool standard interface provided , This interface is implemented by a third-party organization . This interface provides the function of obtaining connection :Connection getConnection()
Then you don't need to pass DriverManager Object acquisition Connection object , But through the connection pool (DataSource) obtain Connection object .
Driud Usage flow
1. Import jar package druid-1.1.12.jar
2. Define configuration file druid.properties
3. Load profile
4. Get database connection pool object
5. Get the connection

Code example
The configuration file druid.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/sd?useSSL=false&useServerPrepStmts=true
username=root
password=root
# The number of initial connections
initialSize=5
# maximum connection
maxActive=10
# Maximum waiting time
maxWait=3000
Java Code
public static void main(String[] args) throws Exception {
//1. Import jar package
//2. Define configuration file
//3. Load profile
Properties prop=new Properties();
prop.load(new FileInputStream("C:\\Users\\ Sven \\Desktop\\Java\\demo\\index\\src\\druid.properties"));
//4. Get connection pool object
DataSource dataSource= DruidDataSourceFactory.createDataSource(prop);
//5. Get database connection Connection
Connection conn=dataSource.getConnection();
//6. Operating the database
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);
}
}
Recommended reading :JDBC Detailed explanation
边栏推荐
- Multithreading Basics: basic concepts of threads and creation of threads
- 第五期个人能力认证考核通过名单公布
- 包装行业商业供应链管理平台解决方案:布局智慧供应体系,数字化整合包装行业供应链
- Swagger2 reports an error illegal DefaultValue null for parameter type integer
- Tongyu Xincai rushes to Shenzhen Stock Exchange: the annual revenue is 947million Zhang Chi and Su Shiguo are the actual controllers
- test about BinaryTree
- R语言ggplot2可视化:使用ggpubr包的ggviolin函数可视化小提琴图
- openmv4 学习笔记1----一键下载、图像处理背景知识、LAB亮度-对比度
- Dark horse -- redis
- test about BinaryTree
猜你喜欢

今日直播 | “人玑协同 未来已来”2022弘玑生态伙伴大会蓄势待发

Pychrm Community Edition calls matplotlib pyplot. Solution of imshow() function image not popping up
Interview assault 63: how to remove duplication in MySQL?

An error occurs when installing MySQL: could not create or access the registry key needed for the

helm部署etcd集群

AUTOCAD——中心线绘制、CAD默认线宽是多少?可以修改吗?

保证接口数据安全的10种方案
Benefit a lot, Android interview questions

MRO industrial products enterprise procurement system: how to refine procurement collaborative management? Industrial products enterprises that want to upgrade must see!

Computer network: sorting out common network interview questions (I)
随机推荐
Abstract classes and abstract methods
Wx applet learning notes day01
黑马--Redis篇
USB host driver - UVC swap
Multithreading Basics: basic concepts of threads and creation of threads
A popular explanation will help you get started
openmv4 学习笔记1----一键下载、图像处理背景知识、LAB亮度-对比度
驼峰式与下划线命名规则(Camel case With hungarian notation)
Swagger2 reports an error illegal DefaultValue null for parameter type integer
业务与应用同步发展:应用现代化的策略建议
三面蚂蚁金服成功拿到offer,Android开发社招面试经验
Modulenotfounderror: no module named 'PIL' solution
Based on butterfly species recognition
R language ggplot2 visualization: use ggviolin function of ggpubr package to visualize violin diagram
五金机电行业供应商智慧管理平台解决方案:优化供应链管理,带动企业业绩增长
Black Horse - - Redis Chapter
It's super detailed in history. It's too late for you to read this information if you want to find a job
第五期个人能力认证考核通过名单公布
三年Android开发,2022疫情期间八家大厂的Android面试经历和真题整理
ACTF 2022圆满落幕,0ops战队二连冠!!