• 事实上一个connection可以有多个statement(会话声明),所以为了节省数据库资源开销和缩短会话周期(因为每次都重新申请一个connection属于物理连接,物理连接很耗时),我们可以不要每次都申请一个connection,转而在原有的连接上申请更多的statement来完成数据库的操作。连接池就是为了实现这一点。
  • 连接池将connection封装起来,使的我们申请一个connection实际就是在原有的connection里申请一个新的statement(原本的关闭连接操作实际变成了回收连接而未关闭,下一次申请一个新连接其实是在在旧连接的基础上申请一次新的statement),所以我们只需在原有的代码上将getConnection()改为getConnnectionPool()即可。
  • 连接池同时能够限制每个应用或系统可以拥有的最大数据库资源。所谓数据库资源也就是每次访问数据库新开的connection、statement和ResultSet(结果集游标。因为如果其中某个应用或系统耗尽了数据库的所有资源,其他应用也就无法正常进行。这种工作也称为确定连接池的大小。
  • 数据库也允许我们能同时对不同类型的数据库操作。
  • 阿里巴巴连接池