简单理解数据库连接池(JDBC)

为什么要使用连接池?

    在我们写代码的时候,写了很多类,假如这些类都和数据库打交道。这样的话每个类都要去获取数据库连接,操作完了之后就把连接释放了。
    要知道,获取数据库连接的操作其实是向操作系统底层去获取资源,获取资源是非常耗时的操作。每个类用完连接就释放了,会导致程序效率变低。
这就相当于我们开了一家餐馆,有客人来吃饭,我们就去招聘服务员提供服务,服务完之后客人走了,我们就把服务员解聘了。之后又来客人了,我们又
重新招聘一个服务员,提供完服务客人走了之后,我们又把服务员开除了。效率非常低。
  正常情况下我们开餐馆应该在营业之前招聘几个服务员,客人来了之后,服务员a去提供服务,提供服务之后客人走了,服务员a再去给其他客人提供
服务。这样餐馆运行才会高效。数据库连接池也是这样的道理。

1.概念

 

数据库连接池其实就是一个容器(集合),里边存放数据库连接。
当系统初始化好后,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器

 

2.好处

 

1.节约资源
2.高效

 

3.实现

 

1.标准接口:DataSource  在javax.sql包下
    *方法:
        *获取连接:getConnection()
        *归还连接:如果连接对象Connection是从连接池中获取的,那么Connection.close()方法,则不会再关闭连接了。而是归回连接           

2.技术
    (1)c3p0:数据库连接池技术
    (2)Druid:数据库连接池实现技术(由阿里巴巴提供)
     (3).....

 

posted @ 2020-03-09 17:28  白熊啊  阅读(494)  评论(0编辑  收藏  举报