創建數據庫連接以及關閉連接是很耗費時間的,並且數據庫支持的連接數量也是有限的,當數據庫的連接數量達到上限的時候,后續的連接就會失敗。因此這里引入了數據庫緩沖池。
public class ConnecionPool {
private int size;
List<Connection> connections = new ArrayList<>();
public ConnecionPool(int size){
this.size=size;
init();
}
public void init(){
try {
Class.forName("com.mysql.jdbc.Driver");
while (size--!=0){
connections.add(DriverManager.getConnection(jdbc:mysql://127.0.0.1:3306/d數據庫名稱, 用戶名,密碼)// );
}
}catch (Exception e){
e.printStackTrace();
}
}
public Connection getConnection(){
try {//如果沒有連接了,線程就等待
while (connections.isEmpty()){
this.wait();
}
}catch (Exception e){
e.printStackTrace();
}
return connections.remove(0);
}
public void returnConntion(Connection connection){
connections.add(connection);
this.notifyAll();
}
}
