连接池
无连接池情况:当进行CRUD操作时,都要创建一个连接对象加载到内存中、然后验证用户名和密码;操作完成后,再断开连接,及其浪费时间和资源。
介绍
基本概念:
- 池:保存对象的容器
- 连接池:保存数据库对象的容器
作用:
初始化时建议一定量的连接对象放到连接池中,需要时直接从连接池中取出空闲对象,使用完毕后不释放掉对象,而是放回到连接池中以便下一次复用。从而提高创建对象带来的延迟,提高系统性能
示意图:
连接池属性:
- 初始化连接数:初始化时在连接池中创建的connection对象
- 最大连接数:连接池中最多能存放的Connection个数
- 最小连接数:连接池中最少要存放的Connection个数
- 最大空闲时间:如果连接了一个Connection对对象,在指定时间内无任何动作,就会自动释放连接
- 最大等待时间:在指定时间内,尝试获取连接;如果超出时间,则提示连接失败
常见连接池:
- DBCP:Spring推荐,Tomcat使用的数据源就是DBCP
- C3P0:开源连接池(不推荐)。不再更新,性能较差
- Druid:阿里巴巴提供的连接池。性能超群
使用
同JDBC一样,连接池使用**javax.sql.DataSource
**接口来表示连接池,具体实现由第三方组织提供
导入相关jar包并add to buid path
配置文件
配置文件:资源文件,.properties扩展名
目的:便于后期维护