DBCP (连接池) |
---|
commons-dbcp.jar |
commons-pool.jar |
commons-logging.jar |
BasicDataSource 连接池对象
import java.sql.Statement;
public class Hello{
public static BasicDataSource ds = null;
static final String DRIVER_NAME = "";
static final String DB_URL ="";
static final String USER_NAME ="";
static final String PASSWORD ="";
public static void dbpoolInit(){
ds = new BasicDataSource();
ds.setUrl(DB_URL);
ds.setDriverClassName(DRIVER_NAME);
ds.setPassword(PASSWORD);
}
public void dbPoolTest(){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try{
conn = ds.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from user");
while(re.next()){
System.out.println(re.getString("userName"));
}
}catch(SQLException e){
e.printStackTrace();
}finally{
try{
if(conn!=null) conn.close();
if(stmt!=null) stmt.close();
if(rs!=null) rs.close();
}catch(SQLException e){
}
}
}
public static void main (String[] args){
dbpoolInit();
new DBpoolDbcpImpl().dbPoolTest();
}
}
高级配置
BasicDataSource |
---|
.setInitialSize() (第一次连接设置连接数) |
.setMaxTotal() (设置最大连接数) |
.setsetMaxWaitMillis() (设置最长等待时间) |
.setMaxIdle() (限制空闲连接数,超过进行销毁) |
.setMinIdle() (低于设置值,会自动创建数据库连接,保证数目足够被租借) |
BasicDataSource (DBCP定期检查) |
---|
.setTestWhileIdle(True) (在服务器关闭连接之前,销毁连接) |
.setMinEvictableIdleTimeMillis() (超过最小空闲时间被销毁) |
.setTimeBetweenEvictionRunsMillis() (检查运行时间间隔) |