python oracle连接池_Oracle JDBC 连接池

1、简介

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

2、为什么要用连接池

如果按照单个连接来进行数据库操作,在高并发的情况下会导致数据库连接数耗尽的问题,而且单个连接的频繁创建和关闭,极大地增加了数据库的开销。针对这些,数据库连接池技术就能很好的解决这些问题。

965623a5163917b81742d58f40954376.png

3、实现

定义连接对象

import java.sql.Connection;

/**

*

*/

public class PoolConnection {

private Connection connect;

//false 繁忙,true 空闲

private boolean status;

public PoolConnection() {

}

public PoolConnection(Connection connect, boolean status) {

this.connect = connect;

this.status = status;

}

public Connection getConnect() {

return connect;

}

public void setConnect(Connection connect) {

this.connect = connect;

}

public boolean isStatus() {

return status;

}

public void setStatus(boolean status) {

this.status = status;

}

//释放连接池中的连接对象

public void releaseConnect(){

this.status = true;

}

}

定义一个接口获取连接对象

public interface DataSource {

PoolConnection getDataSource();

}

实现类

public class DataSourceImpl implements DataSource {

private ReentrantLock lock = new ReentrantLock();

//定义连接池中连接对象的存储容器

private List list = Collections.synchronizedList(new LinkedList<>());

//定义数据库连接属性

private final static String DRIVER_CLASS = PropertiesUtils.getInstance().getProperty("jdbc.driver_class");

private final static String URL = PropertiesUtils.getInstance().getProperty("jdbc.url");

private final static String USERNAME = PropertiesUtils.getInstance().getProperty("jdbc.username");

private final static String PAS

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值