Druid Java配置详解
Druid是一款开源的数据库连接池,采用Java语言进行开发。它具有高效、稳定和可靠的特性,广泛应用于企业级应用程序中。本文将详细介绍如何通过Java代码配置Druid连接池,并提供一些示例代码。
引入依赖
首先,我们需要在项目的pom.xml
文件中添加Druid的依赖。可以通过以下方式引入Druid的最新版本:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.4</version>
</dependency>
配置Druid连接池
在Java代码中配置Druid连接池非常简单。我们需要创建一个DruidDataSource
对象,并设置相关的属性。
import com.alibaba.druid.pool.DruidDataSource;
public class DataSourceConfig {
public static DruidDataSource createDataSource() {
DruidDataSource dataSource = new DruidDataSource();
// 设置数据库连接URL
dataSource.setUrl("jdbc:mysql://localhost:3306/test");
// 设置数据库用户名
dataSource.setUsername("root");
// 设置数据库密码
dataSource.setPassword("password");
// 设置数据库驱动类名
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
// 设置初始连接数
dataSource.setInitialSize(5);
// 设置最大连接数
dataSource.setMaxActive(20);
// 设置最小空闲连接数
dataSource.setMinIdle(2);
return dataSource;
}
}
在上面的示例代码中,我们创建了一个DruidDataSource
对象,并设置了数据库连接URL、用户名、密码、驱动类名、初始连接数、最大连接数和最小空闲连接数等属性。这些属性可以根据实际情况进行调整。
使用Druid连接池
一旦配置好了Druid连接池,我们就可以在代码中使用它了。下面是一个简单的示例,演示如何获取数据库连接、执行SQL查询并释放连接。
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) {
DruidDataSource dataSource = DataSourceConfig.createDataSource();
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
connection = dataSource.getConnection();
statement = connection.prepareStatement("SELECT * FROM users WHERE age > ?");
statement.setInt(1, 18);
resultSet = statement.executeQuery();
while (resultSet.next()) {
String username = resultSet.getString("username");
int age = resultSet.getInt("age");
System.out.println(username + " - " + age);
}
} 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();
}
}
}
}
在上述示例中,我们首先获取DruidDataSource
对象,然后通过getConnection()
方法获取一个数据库连接。接下来,我们使用PreparedStatement
对象执行查询,并将结果打印出来。最后,我们在finally
块中释放资源。
性能监控和统计
Druid还提供了丰富的性能监控和统计功能。我们可以通过配置一些属性来启用这些功能。下面是一个示例代码,演示如何配置Druid连接池的性能监控和统计功能:
import com.alibaba.druid.pool.DruidDataSource;
public class DataSourceConfig {
public static DruidDataSource createDataSource() {
DruidDataSource dataSource = new DruidDataSource();
// 设置数据库连接URL
dataSource.setUrl("jdbc:mysql://localhost:3306/test");
// 设置数据库用户名
dataSource.setUsername("root");
// 设置数据库密码
dataSource.setPassword("password");
// 设置数据库驱动类名
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
// 设置初始连接数
dataSource.setInitialSize(5);
// 设置最大连接数
dataSource.setMaxActive(20);
// 设置最小空闲连接数
dataSource.setMinIdle(2);
// 启用性能监控和统计
dataSource.setFilters("stat");
// 设置慢SQL阈值
dataSource.setConnectionProperties("druid.stat.slowSqlMillis=5000");
return dataSource;
}
}