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
回复评论