📄 connectpool.java
字号:
//数据库连接池
package database;
import database.ConnectPool;
import java.sql.*;
import java.util.*;
public class ConnectPool extends AbstractConnectPool
{
private static ConnectPool pool_instance = null;
private static String dataSource; //数据库连接URL
protected Connection connection;
private ConnectPool()
{
super();
}
public static ConnectPool getInstance(String dS)
{
try{
if(pool_instance == null)
{
dataSource = dS;
pool_instance = new ConnectPool();
pool_instance.initial();
}
}catch(Exception exc){
exc.printStackTrace();
}
return pool_instance;
}
public Object create()
{
try{
connection = DriverManager.getConnection(dataSource);
return connection;
}catch( Exception e ){
e.printStackTrace();
return( null );
}
}
public Hashtable initial()
{
//初始化创建MinConnectionCount个数的连接
try {
for (int i = 0; i < pool_instance.min; i++)
{
connection = DriverManager.getConnection(dataSource);
if (connection == null)
continue;
pool_instance.unlocked.put(connection,(Long.valueOf((long)System.currentTimeMillis())));
}
} catch (Exception e) {
e.printStackTrace();
}
return pool_instance.unlocked;
}
public boolean validate( Object o )
{
try{
return( ! ( ( Connection ) o ).isClosed() );
}catch( SQLException e ){
e.printStackTrace();
return( false );
}
}
public void expire( Object o )
{
try{
( ( Connection ) o ).close();
}catch( SQLException e ){
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -