连接池的出现的原因:数据库的间接是非常占用资源的,尤其是在高并发的情况下,如果每次都去简历数据库连接,就会出现性能问题,会影响一个程序的延展性,这个时候,就需要用到连接池。
连接池的原理:连接池负责分配,管理和释放连接,它保证应用程序能够重复应用同一个连接而不需要每次都建立数据库连接,如果数据库的连接时间超过它的响应时间,它就会自动释放连接资源,为了避免没有释放连接而到时数据库连接的遗漏,因此连接池可以明显提高数据库连接的性能。
常见的连接池:dbcp,c3p0,proxool等等
1、c3p0
在jdbc.properties中配置:
具体的配置详情:https://www.cnblogs.com/love540376/p/5603663.html
这里简单介绍我自己用到的:
c3p0.maxPoolSize=40 允许同一时刻最大的连接数
c3p0.minPoolSize=1
c3p0.initialPoolSize=10 初始化的连接数,就是没有使用的时候,也是10个
c3p0.maxIdleTime=20 等待释放的时候,单位秒,20秒没使用,就自动释放 默认值为0,0是永不丢弃