jdbc数据库封装连接池
时间: 2023-09-17 08:14:49 浏览: 113
好的,这是一个关于JDBC数据库连接池封装的问题。一般来说,数据库连接池是一种可以重复使用的数据库连接资源集合,提高了数据库的访问效率,尤其是在高并发环境下。下面是一个简单的JDBC连接池封装代码:
```java
public class ConnectionPool {
private static ConnectionPool instance = null;
private Vector<Connection> connectionPool = new Vector<Connection>();
private String url = "jdbc:mysql://localhost:3306/test";
private String user = "root";
private String password = "root";
private int poolSize = 10;
//初始化连接池,创建连接
private ConnectionPool() {
for (int i = 0; i < poolSize; i++) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection(url, user, password);
connectionPool.add(connection);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//获取连接池实例
public static synchronized ConnectionPool getInstance() {
if (instance == null) {
instance = new ConnectionPool();
}
return instance;
}
//获取连接
public synchronized Connection getConnection() {
Connection connection = null;
if (connectionPool.size() > 0) {
connection = connectionPool.get(0);
connectionPool.remove(connection);
}
return connection;
}
//释放连接
public synchronized void releaseConnection(Connection connection) {
connectionPool.add(connection);
}
}
```
在上述代码中,我们使用了一个Vector来存储连接,然后通过getInstance()方法获取连接池实例,在需要使用连接时,调用getConnection()方法获取连接,使用完毕后,调用releaseConnection()方法释放连接,从而实现了JDBC连接池的封装。
阅读全文