2. JDBC连接池和DBUtils

1. JDBC连接池

实际开发中,获得连接或释放连接是非常耗费系统资源的,我们采用连接池技术来解决性能问题。

1.1 连接池概述

  1. 概念
    用池来管理Connection,这样可以重复利用Connection。我们通过池来获取Connection,用完调用Connection的close(), 并不是真正的关闭,而是归还池。
    2. JDBC连接池和DBUtils
  2. 规范
    java为数据库连接池提供了公共的接口:javax.sql.Datasource, 各个厂商应该在自己的连接池实现这个接口,方便程序切换不同的连接池。

1.2 自定义连接池

  1. 分析
  • 创建连接池实现(数据源),并实现javax.sql.Datasource接口。本案例只使用到getConnection()方法,简化本案例,自己提供方法,不实现接口。
  • 提供一个集合,用于存放连接,删除和添加操作多,选择LinkedList。
  • 初始化池,提供三个连接。
  • 调用getConnection()获得Connection,为了保证当前连接只能给一个线程使用,连接从池中删除。
  • 当使用完,调用Connection的close()归还连接给池。