学JDBC 第二日

数据库连接池

作用

使数据库连接达到重用的效果,较少的消耗资源

原理

在创建连接池对象时,创建好指定个数的连接对象

之后直接获取连接对象使用即可,不用每次都创建连接对象

从数据库连接池中获取的对象的close方法真的关闭连接对象了吗?

没有关闭,只是标记状态,让其他线程可以获取使用

连接池的创建

1.创建连接池对象

DruidDataSource ds = new DruidDataSource();

2.设置连接池

a. setInitialSize(5)是设置连接池的初始连接数。这意味着在连接池被创建时,会立即建立5个数据库连接。

b. setMaxActive(8)用于设置连接池中最大的活动连接数。在这个例子中,连接池最多可以同时有8个活动连接。

c. setMaxWait(3000)设置了获取连接时的最大等待时间(毫秒)。在这个例子中,如果连接池中的所有连接都在使用中,并且一个新的连接请求进来,那么这个请求将会等待最多3000毫秒(3秒)来获取一个连接。如果在这个时间内没有可用的连接,那么请求将会抛出一个异常。

3.在配置DruidDataSource时,除了设置连接池的基本参数(如初始连接数、最大活动连接数、最大等待时间等)之外,还需要指定数据库驱动类名、数据库URL、用户名和密码,以便连接池能够正确地与数据库建立连接。

相关推荐
洛神灬殇4 分钟前
【LLM大模型技术专题】「入门到精通系列教程」基于ai-openai-spring-boot-starter集成开发实战指南
网络·数据库·微服务·云原生·架构
小鸡脚来咯15 分钟前
redis分片集群架构
数据库·redis·架构
christine-rr1 小时前
征文投稿:如何写一份实用的技术文档?——以软件配置为例
运维·前端·网络·数据库·软件构建
海尔辛1 小时前
SQL 基础入门
数据库·sql
betazhou3 小时前
有没有 MariaDB 5.5.56 对应 MySQL CONNECTION_CONTROL 插件
linux·数据库·mysql·oracle·mariadb
Elohim8153 小时前
数据库SQLite基础
数据库·sqlite
TDengine (老段)3 小时前
TDengine 支持的平台汇总
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
大熊猫侯佩3 小时前
由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(四)
数据库·swiftui·apple watch
想用offer打牌4 小时前
面试官问:Redis和MySQL数据一致,为什么还需要MySQL?🤠
数据库·redis·mysql
chen.@-@4 小时前
后端下载限速(redis记录实时并发,bucket4j动态限速)
数据库·redis·缓存