前面有写JDBC直连数据库,需要创建连接,使用完数据库之后要关闭数据库连接,连接池应运而生。
数据库连接池
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。(摘自百度百科)
java的核心接口有DataSource、XADataSource、ConnectionPoolDataSource,接口CommonDataSource定义通用方法
DataSource
连接到此DataSource对象所表示的物理数据源的工厂。作为DriverManager工具的替代,DataSource对象是获得连接的首选方式。实现DataSource接口的对象通常会在基于Java™命名和目录(JNDI) API的命名服务中注册。 DataSource接口由驱动程序供应商实现。有三种类型的实现: 基本实现——生成标准的Connection对象 连接池实现——生成一个自动参与连接池的Connection对象。此实现使用中间层连接池管理器。 分布式事务实现——产生一个可以用于分布式事务的Connection对象,并且几乎总是参与连接池。此实现使用中间层事务管理器,并且几乎总是使用连接池管理器。 DataSource对象具有可以在必要时修改的属性。例如,如果数据源移动到不同的服务器,则可以更改该服务器的属性。其好处在于,由于数据源的属性可以更改,因此不需要更改访问该数据源的任何代码。 一个通过DataSource对象访问的驱动程序不注册自己到DriverManager。相反,通过查找操作检索DataSource对象,然后用于创建Connection对象。在基本实现中,通过DataSource对象获得的连接与通过DriverMana