java建立连接的代码_创建连接 - java代码库 - 云代码

[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);

}

}

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值