当前位置:网站首页>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
边栏推荐
- php+redis实现超时取消订单功能
- R language uses the order function to sort the dataframe data, and descending sorting based on a single field (variable)
- 助力安全人才专业素养提升 | 个人能力认证考核第一阶段圆满结束!
- [depth first search] Ji suanke: find numbers
- 中缀表达式转后缀表达式详细思路及代码实现
- Mathematical knowledge -- code implementation of Gaussian elimination (elementary line transformation to solve equations)
- 保证接口数据安全的10种方案
- MRO industrial products enterprise procurement system: how to refine procurement collaborative management? Industrial products enterprises that want to upgrade must see!
- R language ggplot2 visualization: use the ggdotplot function of ggpubr package to visualize dot plot, set the palette parameter, and set the colors of data points and box graphs of dot plots at differ
- test about BinaryTree
猜你喜欢
包装行业商业供应链管理平台解决方案:布局智慧供应体系,数字化整合包装行业供应链
Actf 2022 came to a successful conclusion, and 0ops team won the second consecutive championship!!
Master Xuan joined hands with sunflower to remotely control enabling cloud rendering and GPU computing services
五金机电行业供应商智慧管理平台解决方案:优化供应链管理,带动企业业绩增长
Sanmian ant financial successfully got the offer, and has experience in Android development agency recruitment and interview
CPU负载很低,loadavg很高处理方法
Mathematical knowledge -- code implementation of Gaussian elimination (elementary line transformation to solve equations)
Don't miss this underestimated movie because of controversy!
Help improve the professional quality of safety talents | the first stage of personal ability certification and assessment has been successfully completed!
安装Mysql报错:Could not create or access the registry key needed for the...
随机推荐
中缀表达式转后缀表达式详细思路及代码实现
谷粒商城--分布式高级篇P129~P339(完结)
全套教学资料,阿里快手拼多多等7家大厂Android面试真题
Lucun smart sprint technology innovation board: annual revenue of 400million, proposed to raise 700million
[translation] a GPU approach to particle physics
[depth first search] Ji suanke: Square
青龙面板最近的库
How word displays modification traces
倒计时2天|腾讯云消息队列数据接入平台(Data Import Platform)直播预告
如何提高网站权重
Test technology stack arrangement -- self cultivation of test development engineers
Black Horse - - Redis Chapter
R language ggplot2 visual time series histogram: visual time series histogram through two-color gradient color matching color theme
MRO工业品企业采购系统:如何精细化采购协同管理?想要升级的工业品企业必看!
The nearest library of Qinglong panel
Three years of Android development, Android interview experience and real questions sorting of eight major manufacturers during the 2022 epidemic
If you have any problems, you can contact me. A rookie ~
[matlab] Simulink the input and output variables of the same module cannot have the same name
Problems encountered in using RT thread component fish
Is not a drawable (color or path): the vector graph downloaded externally cannot be called when it is put into mipmap, and the calling error program crashes