当然,以下是一个详细的C3P0示例代码,演示了如何配置和使用C3P0连接池:
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class C3P0Demo {
public static void main(String[] args) {
// 创建C3P0数据源
ComboPooledDataSource dataSource = new ComboPooledDataSource();
try {
// 配置数据源属性
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase");
dataSource.setUser("username");
dataSource.setPassword("password");
// 配置连接池属性
dataSource.setMinPoolSize(5);
dataSource.setMaxPoolSize(10);
dataSource.setCheckoutTimeout(3000);
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 从连接池获取连接
connection = dataSource.getConnection();
// 执行查询
String sql = "SELECT * FROM students";
statement = connection.prepareStatement(sql);
resultSet = statement.executeQuery();
// 处理查询结果
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
// 释放资源
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
} catch (PropertyVetoException ex) {
ex.printStackTrace();
} finally {
// 关闭数据源
dataSource.close();
}
}
}
在上述代码中,我们首先创建了一个ComboPooledDataSource
对象作为C3P0数据源。然后,我们通过setDriverClass()
方法设置数据库驱动类,setJdbcUrl()
方法设置数据库连接URL,setUser()
和setPassword()
方法设置数据库的用户名和密码。接下来,我们使用setMinPoolSize()
和setMaxPoolSize()
方法设置连接池的最小和最大连接数,使用setCheckoutTimeout()
方法设置连接的超时时间。
在代码的主体部分,我们首先获取一个连接对象connection
,然后执行一个查询操作,将结果打印出来。最后,在释放资源时,我们依次关闭结果集、预处理语句和连接对象。
请确保根据您实际的数据库配置进行适当的修改,并在运行代码之前正确配置数据库连接信息。此外,还需要将C3P0的依赖项添加到项目的构建文件(例如pom.xml)中。例如,在Maven项目中,您可以添加以下依赖项:
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.5</version>
</dependency>
这些代码将帮助您开始使用C3P0连接池来管理数据库连接。请注意,为了使用C3P0,您需要将相关的JAR文件添加到您的项目中,并根据实际情况修改代码中的数据库连接信息。
标签:resultSet,C3P0,connection,实例,ex,使用,import,dataSource From: https://www.cnblogs.com/lukairui/p/17443982.html