jdbc c3p0 mysql_JDBC + MySQL使用c3p0连接池
public?class?DBUtils?{
private?static?String?url?=?null;
private?static?String?username?=?null;
private?static?String?pwd?=?null;
private?static?DataSource?ds_pooled;
/**
*??加載數據庫連接的配置文件和驅動
*/
static{
FileInputStream?fis?=?null;
Properties?env?=?new?Properties();
try?{
fis?=?new?FileInputStream("dbconfig.properties");
//加載屬性文件中的數據庫配置信息
//以=左邊作為key值,右邊作為value值
env.load(fis);
//1.?加載驅動類
Class.forName(env.getProperty("jdbc.driver"));
url?=?env.getProperty("jdbc.url");
username?=?env.getProperty("jdbc.username");
pwd?=?env.getProperty("jdbc.pwd");
//設置連接數據庫的配置信息
DataSource?ds_unpooled?=?DataSources
.unpooledDataSource(url,?username,?pwd);
Map?pool_conf?=?new?HashMap();
//設置最大連接數
pool_conf.put("maxPoolSize",?10);
ds_pooled?=?DataSources.pooledDataSource(ds_unpooled,
pool_conf);
}?catch?(FileNotFoundException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}?catch?(ClassNotFoundException?e)?{
e.printStackTrace();
}?catch?(SQLException?e)?{
e.printStackTrace();
}
}
/**
*??獲取連接對象
*/
public?static?Connection?getConnection()?throws?SQLException?{
//?2.?設置連接的url,username,pwd
//??????return?DriverManager.getConnection(url,?username,?pwd);
return?ds_pooled.getConnection();
}
/**
*?釋放連接池資源
*/
public?static?void?clearup(){
if(ds_pooled?!=?null){
try?{
DataSources.destroy(ds_pooled);
}?catch?(SQLException?e)?{
e.printStackTrace();
}
}
}
/**
*?資源關閉
*
*?@param?rs
*?@param?stmt
*?@param?conn
*/
public?static?void?close(ResultSet?rs,?Statement?stmt
,?Connection?conn)?{
if?(rs?!=?null)?{
try?{
rs.close();
}?catch?(SQLException?e)?{
e.printStackTrace();
}
}
if?(stmt?!=?null)?{
try?{
stmt.close();
}?catch?(SQLException?e)?{
e.printStackTrace();
}
}
if?(conn?!=?null)?{
try?{
conn.close();
}?catch?(SQLException?e)?{
e.printStackTrace();
}
}
}
}
總結
以上是生活随笔為你收集整理的jdbc c3p0 mysql_JDBC + MySQL使用c3p0连接池的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 客户机服务器文件更新,服务端数据更新,如
- 下一篇: oci连接mysql_使用 OCILIB