利用DBUTils 创建数据库连接池
时间: 2024-02-16 12:38:03 浏览: 83
DBUtils 是一个开源的 JDBC 工具库,它提供了一组简单易用的 API,帮助我们更方便地使用 JDBC 操作数据库。其中,DBCP(DataBase Connection Pool)是 DBUtils 提供的一个数据库连接池,可以有效地管理数据库连接,提高应用程序的性能和稳定性。
下面是利用 DBUtils 创建数据库连接池的步骤:
1. 导入相关依赖包(DBUtils 和数据库驱动)。
2. 在配置文件中设置数据库连接信息,包括数据库 URL、用户名、密码等。
3. 使用 BasicDataSource 对象创建一个连接池,并设置相关参数,如最大连接数、最大空闲时间等。
4. 通过连接池获取数据库连接,执行 SQL 操作。
下面是一个示例代码:
```java
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
public class DBUtilsDemo {
public static void main(String[] args) {
// 配置数据库连接信息
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
// 创建连接池
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setInitialSize(5);
dataSource.setMaxTotal(10);
dataSource.setMaxIdle(8);
dataSource.setMaxWaitMillis(10000);
// 获取连接并执行 SQL 操作
try(Connection conn = dataSource.getConnection()) {
QueryRunner runner = new QueryRunner();
String sql = "SELECT * FROM student";
BeanListHandler<Student> handler = new BeanListHandler<>(Student.class);
List<Student> students = runner.query(conn, sql, handler);
// 处理查询结果
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在上面的示例代码中,我们首先通过 BasicDataSource 对象设置了数据库连接信息,并创建了一个连接池。然后,通过 getConnection() 方法从连接池中获取一个数据库连接,并使用 QueryRunner 对象执行了一条 SQL 查询语句。最后,我们可以对查询结果进行处理。注意,在使用完数据库连接后,需要及时释放连接,否则会导致连接泄漏,从而影响应用程序的性能和稳定性。
阅读全文