c3p0连接池代码
以下是使用c3p0连接池的Java代码示例:
- 引入c3p0依赖
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.5</version>
</dependency>
- 配置c3p0连接池
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
public class DataSource {
private static ComboPooledDataSource cpds = null;
static {
try {
cpds = new ComboPooledDataSource();
cpds.setDriverClass("com.mysql.cj.jdbc.Driver");
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC");
cpds.setUser("username");
cpds.setPassword("password");
cpds.setInitialPoolSize(5);
cpds.setMinPoolSize(1);
cpds.setMaxPoolSize(10);
cpds.setAcquireIncrement(5);
cpds.setMaxIdleTime(60);
cpds.setMaxStatements(100);
} catch (PropertyVetoException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
return cpds.getConnection();
}
}
- 使用连接池获取数据库连接
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = DataSource.getConnection();
pstmt = conn.prepareStatement("SELECT * FROM users");
rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt("id") + " " + rs.getString("name"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
``
原文地址: https://www.cveoy.top/t/topic/cyKw 著作权归作者所有。请勿转载和采集!