学JDBC 第二日

数据库连接池

作用

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

原理

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

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

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

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

连接池的创建

1.创建连接池对象

DruidDataSource ds = new DruidDataSource();

2.设置连接池

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

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

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

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

相关推荐
广州智造36 分钟前
OptiStruct实例:3D实体转子分析
数据库·人工智能·算法·机器学习·数学建模·3d·性能优化
技术宝哥4 小时前
Redis(2):Redis + Lua为什么可以实现原子性
数据库·redis·lua
学地理的小胖砸5 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql
dddaidai1235 小时前
Redis解析
数据库·redis·缓存
数据库幼崽5 小时前
MySQL 8.0 OCP 1Z0-908 121-130题
数据库·mysql·ocp
Amctwd6 小时前
【SQL】如何在 SQL 中统计结构化字符串的特征频率
数据库·sql
betazhou6 小时前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
lyrhhhhhhhh7 小时前
Spring 框架 JDBC 模板技术详解
java·数据库·spring
喝醉的小喵8 小时前
【mysql】并发 Insert 的死锁问题 第二弹
数据库·后端·mysql·死锁
付出不多9 小时前
Linux——mysql主从复制与读写分离
数据库·mysql