Springboot默认数据库连接池为 Tomcat JDBC Pool ,常用的属性见下表:
| 属性 | 描述 | 默认值 |
|---|---|---|
| defaultAutoCommit | 连接池中创建的连接默认是否自动提交事务 | 驱动的缺省值 |
| defaultReadOnly | 连接池中创建的连接默认是否为只读状态 | - |
| defaultCatalog | 连接池中创建的连接默认的 catalog | - |
| driverClassName | 驱动类的名称 | - |
| username | 数据库账户 | - |
| password | 数据库密码 | - |
| maxActive | 连接池同一时间可分配的最大活跃连接数 | 100 |
| maxIdle | 始终保留在池中的最大连接数,如果启用,将定期检查限制连接,超出此属性设定的值且空闲时间超过minEvictableIdleTimeMillis的连接则释放 | 与maxActive设定的值相同 |
| minIdle | 始终保留在池中的最小连接数,池中的连接数量若低于此值则创建新的连接,如果连接验证失败将缩小至此值 | 与initialSize设定的值相同 |
| initialSize | 连接池启动时创建的初始连接数量 | 10 |
| maxWait | 最大等待时间(毫秒),如果在没有连接可用的情况下等待超过此时间,则抛出异常 | 30000(30秒) |
| testOnBorrow | 当从连接池中取出一个连接时是否进行验证,若验证失败则从池中删除该连接并尝试取出另一个连接 | false |
| testOnConnect | 当一个连接首次被创建时是否进行验证,若验证失败则抛出 SQLException 异常 | false |
| testOnReturn | 当一个连接使用完归还到连接池时是否进行验证 | false |
| testWhileIdle | 对池中空闲的连接是否进行验证,验证失败则回收此连接 | false |
| validationQuery | 在连接池返回连接给调用者前用来对连接进行验证的查询 SQL | null |
| validationQueryTimeout | SQL 查询验证超时时间(秒),小于或等于 0 的数值表示禁用 | -1 |
| timeBetweenEvictionRunsMillis | 在空闲连接回收器线程运行期间休眠时间(毫秒), 该值不应该小于 1 秒,它决定线程多久验证空闲连接或丢弃连接的频率 | 5000(5秒) |
| minEvictableIdleTimeMillis | 连接在池中保持空闲而不被回收的最小时间(毫秒) | 60000(60秒) |
| removeAbandoned | 标记是否删除泄露的连接,如果连接超出removeAbandonedTimeout的限制,且该属性设置为 true,则连接被认为是被泄露并且可以被删除 | false |
| removeAbandonedTimeout | 泄露的连接可以被删除的超时时间(秒),该值应设置为应用程序查询可能执行的最长时间 | 60 |
原文:https://www.cnblogs.com/wanbao/p/9720066.html