[java]代码库
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 {
Properties p = new Properties();
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));
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(
"加载配置文件失败.", e);
}
}
/**
* 本方法是采用BasicDataSource创建的连接,
* 则Connection接口是由DBCP实现的,而并非
* 由Oracle实现.当然DBCP的实现类中会调用
* Oracle的驱动类.
*/
public static Connection getConnection()
throws SQLException {
return ds.getConnection();
}
/**
* 由DBCP所提供的连接对象的实现类,
* 其close方法的逻辑不是关闭连接,
* 而是归还连接,即它会将连接内包含的
* 数据清空,并且将连接的状态设置为空闲.
* */
public static void close(Connection conn) {
if(conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(
"关闭连接失败.", e);
}
}
}
public static void rollback(Connection conn) {
if(conn != null) {
try {
conn.rollback();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(
"事务回滚失败.", e);
}
}
}
public static void main(String[] args)
throws SQLException {
Connection conn =
DBUtil.getConnection();
System.out.println(conn);
DBUtil.close(conn);
}
}
初级程序员
by: 晓月 发表于:2017-08-17 16:59:07 顶(0) | 踩(0) 回复
楼主,我用eclipse执行你这个代码的时候说是找不到或无法加载主类,,是properties放置的位置有问题吗?应该放在哪里,我是放在src同级目录下的
网友回复
回复觉 : 在java Resouces下src/main/java中呀
顶(0) 踩(0) 2017-08-18 09:00:47
觉 : properties放在src/main/resources下db.properties
顶(0) 踩(0) 2017-08-18 09:10:27
晓月 : 。。是在项目里的src下建立main/resources 吧。。还是没用!.!
顶(0) 踩(0) 2017-08-18 10:31:29
回复评论