Oracle 使用配置文件来配置JDBC连接数据库

首先配置文件保存为config.properties放在包内。

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:3306
user=root
pwd=root
initsize=1
maxactive=1
maxwait=5000
maxidle=1
minidle=1

然后导入
这里写图片描述
数据库连接管理类

package day01;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.commons.dbcp.BasicDataSource;
/**
 * 使用连接池技术管理数据库连接
 * @author Administrator
 */
public class DBUtil2 {
    //数据库连接池
    private static BasicDataSource ds;
    //为不同线程管理连接
    private static ThreadLocal<Connection> tl;
    static{
        try{
            Properties prop= new Properties();

            InputStream is= DBUtil2.class.getClassLoader().getResourceAsStream("day01/config.properties");
            prop.load(is);
            is.close();
            //初始化连接池
            ds = new BasicDataSource();
            //设置驱动 (Class.forName())
            ds.setDriverClassName(prop.getProperty("driver"));
            //设置url
            ds.setUrl(prop.getProperty("url"));
            //设置数据库用户名
            ds.setUsername(prop.getProperty("user"));
            //设置数据库密码
            ds.setPassword(prop.getProperty("pwd"));
            //初始连接数量
            ds.setInitialSize(Integer.parseInt(prop.getProperty("initsize")));
            //连接池允许的最大连接数
            ds.setMaxActive(Integer.parseInt(prop.getProperty("maxactive")));
            //设置最大等待时间
            ds.setMaxWait(Integer.parseInt(prop.getProperty("maxwait")));
            //设置最小空闲数
            ds.setMinIdle(Integer.parseInt(prop.getProperty("minidle")));
            //设置最大空闲数
            ds.setMaxIdle(Integer.parseInt(prop.getProperty("maxidle")));
            //初始化线程本地
            tl = new ThreadLocal<Connection>();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    /**
     * 获取数据库连接
     * @return
     * @throws SQLException 
     */
    public static Connection getConnection() throws SQLException{
        /*
         * 通过连接池获取一个空闲连接
         */
        Connection conn = ds.getConnection();
        tl.set(conn);
        return conn;
    }
    /**
     * 关闭数据库连接
     */
    public static void closeConnection(){
        try{
            Connection conn = tl.get();
            if(conn != null){
                /*
                 * 通过连接池获取的Connection
                 * 的close()方法实际上并没有将
                 * 连接关闭,而是将该链接归还。
                 */
                conn.close();
                tl.remove();
            }   
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值