package com.eyugame.modle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Vector;
/**
* 享元模式
* @author JYC506
*
*/
public class ConnectionPool {
private Vector<Connection> pool;
/* 共有属性 */
private String url = "127.0.0.1:6002/test";
private String username = "root";
private String password = "123456";
private String driverClassName = "com.mysql.jdbc.Driver";
private int poolSize = 100;
private ConnectionPool(){
try {
/*加载JDBC驱动程序,不同的数据库,加载的驱动不一样*/
Class.forName(driverClassName);
this.pool=new Vector<Connection>(poolSize);
for(int i=0;i<poolSize;i++){
java.sql.Connection connection=DriverManager.getConnection(url, username, password);
this.pool.add(connection);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public synchronized void release(Connection con){
this.pool.add(con);
}
public synchronized Connection getConnection(){
Connection con;
if(!this.pool.isEmpty()){
con= this.pool.get(0);
this.pool.remove(con);
return con;
}
return null;
}
}
(结构型模式七)享元模式
最新推荐文章于 2024-08-26 13:35:55 发布