8,028
社区成员
发帖
与我相关
我的任务
分享
#我用的是mysql数据库
url=jdbc:mysql://127.0.0.1:3306/db_name
username=dba_name
password=dba_pwd
filters=stat
#最大连接数量
maxActive=500
#初始化连接数量
initialSize=50
#超时等待时间以毫秒为单位
maxWait=60000
#最小空闲连接
minIdle=1
#校验连接池中限制时间超过minEvictableIdleTimeMillis的连接对象
timeBetweenEvictionRunsMillis=3000
#连接在池中保持空闲而不被空闲连接回收器线程(如果有)回收的最小时间值,单位毫秒
minEvictableIdleTimeMillis=300000
#SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前
validationQuery=SELECT now();
#指明连接是否被空闲连接回收器(如果有)进行检验.
#如果检测失败,则连接将被从池中去除.
testWhileIdle=true
#指明是否在从池中取出连接前进行检验,如果检验失败,
#则从池中去除连接并尝试取出另一个.
testOnBorrow=false
#指明是否在归还到池中前进行检验
testOnReturn=false
#poolPreparedStatements=true
maxPoolPreparedStatementPerConnectionSize=20
import java.io.InputStream;
import java.util.Properties;
import java.util.Set;
import javax.activation.DataSource;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public class DataBasePoolUtils {
private static DruidDataSource dds = null;
static{
try {
InputStream in = DataBasePoolUtils.class.getClassLoader().getResourceAsStream("/dbconfig.properties");
Properties p = new Properties();
p.load(in);
dds = (DruidDataSource) DruidDataSourceFactory
.createDataSource(p);
} catch (Exception e) {
e.printStackTrace();
}
}
public static DruidDataSource getDruidDataSource() {
System.out.println("当前正在使用的连接个数 :" + dds.getActiveCount());
System.out.println("获取的DataBaseSiurce对象" + dds);
return dds;
}
}
//获取连接
Connection con = DataBasePoolUtils.getDruidDataSource().getConnection();
//使用后释放连接
if(con != null){
con.close();
int a = DataBasePoolUtils.getDruidDataSource().removeAbandoned();
}