学习DatabaseConnectionPool--数据库连接池(随记二)


 一、从java类来分析连接池的构架,可以了解以下几点:

 1. 连接池实际上分2个部分:连接池类和连接池管理类。
 
 2. 连接池类作用是:创建和毁灭连接池、创建连接和关闭连接、遍历查询并提供有效连接、处理无效连接。
 
 3. 连接池管理类的作用是:初始化操作(提供创建一个连接池的操作方法、获取数据库的用户密码驱动信息提供给连接池类使用)、从连接池获取有效连接提供给用户、追踪连接操作和记录日志。
 
 4. 可以通过连接池管理类创建一个或者多个连接池。连接池管理类是连接池类的外覆类(wrapper),符合单例模式,即系统中只能有一个连接池管理类的实例。
 
 5. 并发问题:为了使连接管理服务具有最大的通用性,必须考虑多线程环境,即并发问题。Java语言自身提供了对并发管理的支持,使用synchronized关键字即可确保线程是同步的。使用方法为直接在类方法前面加上synchronized关键字,如:public synchronized Connection getConnection()


 二、分析连接池管理类:

 1. 首先是初始化方法:调用以下方法,实现读取属性文件、注册驱动、连接池创建。

        private void  init()
        
{
            dbProps.load(getClass().getResourceAsStream(
"db.properties"));    //读取属性文件

            loadDrivers(dbProps);    //加载和注册所有JDBC驱动程序
            createPools(dbProps);    //根据指定属性创建连接池实例,props为连接池属性        
        }

 2. 获取数据库用户密码进行创建连接池操作。

        private void  createPools (Properties props)
        
{
            DBConnectionPool pool 
= new
 DBConnectionPool (poolName,url,user,password,max);
            pools.put (poolName,pool) ;
        
            log (
"成功创建连接池" +
 poolName) ;
        }

 3. 注册驱动

        private void  loadDrivers ( Properties props )
        
{    
            String driverClasses 
= props.getProperty("drivers"
);
            Driver driver 
=
 (Driver)Class.forName(driverClasses).newInstance();            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值