数据库连接池实质就是连接的一个集合。
1、下图来源:https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E6%B1%A0/1518538?fr=aladdin
2、数据库连接池原理
参考:https://blog.csdn.net/shuaihj/article/details/14223015 (该篇博文将的比较清楚)
3、模拟数据库连接池类(上面参考博文中,模拟数据库连接池类实现了DataSource接口,其实不实现也可以)
如下:
应用模拟连接池进行的查询:
4、连接池的配置
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="10" />
<property name="minIdle" value="10" />
<property name="maxActive" value="20" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />