配置Druid连接池
1. 流程概述
为了实现MySQL配置Druid连接池,我们需要按照以下步骤进行操作:
步骤 | 描述 |
---|---|
1 | 引入Druid依赖 |
2 | 配置Druid连接池 |
3 | 创建数据源 |
4 | 使用数据源连接MySQL数据库 |
接下来,我将详细解释每一个步骤,并给出相应的代码示例。
2. 引入Druid依赖
首先,你需要在你的项目中引入Druid的依赖。在Maven项目中,可以在pom.xml
文件中添加以下代码:
<dependencies>
<!-- 引入Druid依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.4</version>
</dependency>
<!-- 其他依赖... -->
</dependencies>
这样就成功引入了Druid的依赖。
3. 配置Druid连接池
在配置Druid连接池之前,你需要在项目中创建一个druid.properties
文件,用于存放Druid连接池的配置。
在druid.properties
文件中,你需要配置以下参数:
# 设置数据库连接参数
druid.driverClassName=com.mysql.jdbc.Driver
druid.url=jdbc:mysql://localhost:3306/mydb
druid.username=root
druid.password=123456
# 配置连接池参数
druid.initialSize=5
druid.minIdle=5
druid.maxActive=20
druid.maxWait=60000
其中,druid.url
是MySQL数据库的连接地址,druid.username
和druid.password
是数据库的用户名和密码。
4. 创建数据源
在Java代码中,你需要创建一个DruidDataSource
对象作为数据源,用于建立与数据库的连接。在创建数据源时,你需要读取druid.properties
文件中的配置。
import com.alibaba.druid.pool.DruidDataSource;
public class DataSourceUtil {
public static DruidDataSource createDataSource() {
DruidDataSource dataSource = new DruidDataSource();
// 读取druid.properties中的配置
Properties properties = new Properties();
try {
properties.load(DataSourceUtil.class.getClassLoader().getResourceAsStream("druid.properties"));
} catch (IOException e) {
e.printStackTrace();
}
dataSource.configFromPropety(properties);
return dataSource;
}
}
在上述代码中,我们使用Properties
类来读取druid.properties
文件中的配置,然后通过configFromPropety
方法将配置应用到DruidDataSource
对象中。
5. 使用数据源连接MySQL数据库
现在,你已经成功创建了一个Druid数据源,接下来我们需要使用该数据源来连接MySQL数据库。
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
public static void main(String[] args) {
// 创建数据源
DruidDataSource dataSource = DataSourceUtil.createDataSource();
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
// 获取数据库连接
connection = dataSource.getConnection();
// 创建Statement对象
statement = connection.createStatement();
// 执行SQL查询
resultSet = statement.executeQuery("SELECT * FROM users");
// 处理查询结果
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("id: " + id + ", name: " + name);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 释放资源
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
在上述代码中,我们通过getConnection
方法从数据源中获取一个数据库连接,然后创建Statement
对象执行SQL查询。最后,我们使用resultSet
处理查询结果,并在控制台输出。
状态图
下面是配置Druid连接池的状态图:
stateDiagram
[*] --> 配置Druid连接池
配置Druid连接池 --> 创建数据源
创建数据源 --> 使用数据源连接MySQL数据库
使用数据源连接MySQL数据库 --> [*]
``