package Util;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.commons.dbcp.BasicDataSource;
public class DBUtil {
private static BasicDataSource ds;
static {
try {
//读取参数
p.load(DBUtil.class.getClassLoader()
.getResourceAsStream("db.properties"));
String driver
= p.
getProperty("driver");
String url
= p.
getProperty("url");
String user
= p.
getProperty("user");
String pwd
= p.
getProperty("pwd");
String initsize
= p.
getProperty("initsize");
String maxsize
= p.
getProperty("maxsize");
//创建连接池
ds = new BasicDataSource();
//设置参数
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(user);
ds.setPassword(pwd);
ds.
setInitialSize(new Integer(initsize
));
ds.
setMaxActive(new Integer(maxsize
));
e.printStackTrace();
"加载配置文件失败.", e);
}
}
/**
* 本方法是采用BasicDataSource创建的连接,
* 则Connection接口是由DBCP实现的,而并非
* 由Oracle实现.当然DBCP的实现类中会调用
* Oracle的驱动类.
*/
return ds.getConnection();
}
/**
* 由DBCP所提供的连接对象的实现类,
* 其close方法的逻辑不是关闭连接,
* 而是归还连接,即它会将连接内包含的
* 数据清空,并且将连接的状态设置为空闲.
* */
if(conn != null) {
try {
conn.close();
e.printStackTrace();
"关闭连接失败.", e);
}
}
}
if(conn != null) {
try {
conn.rollback();
e.printStackTrace();
"事务回滚失败.", e);
}
}
}
public static void main
(String[] args
)
DBUtil.getConnection();
DBUtil.close(conn);
}
}