【JDBC】数据库连接池

ops/2024/9/23 11:16:36/

1 简介

1.1 概念

  • 持有多个数据库连接的容器,当程序需要操作数据库的时候,直接可以从池中取出连接,使用完成之后,再放回到池中。

1.2 优点

  • 节省资源。如果每次访问数据库,都需要创建新的连接,在使用完成后,再去销毁连接,都是比较耗费系统资源的
  • 响应更高效。节省了创建和销毁的时间
  • 统一管理数据库连接,避免因为业务膨胀,导致数据库连接增多
  • 对性能各方面进行监控

1.3 开源连接池技术

  • C3P0
  • DBCP(DataBase Connection Pool)
  • Druid(阿里开源)
  • HiKariCP

2.连接池使用

2.1 Druid使用

下载地址:https://repo1.maven.org/maven2/com/alibaba/druid/1.2.9/

public class Test {public static void main(String[] args) throws SQLException {DruidDataSource datasource=new DruidDataSource();datasource.setDriverClassName("com.mysq1.cj.jdbc.Driver");datasource.setUrl("jdbc:mysq1://localhost:3306/test");datasource.setUsername("root");datasource.setPassword("123456");datasource.setInitialSize(5);//连接池创建的时候,自动创建的数据库连接数量datasource.setMinIdle(10);//最小空闲连接datasource.setMaxActive(20);//最大同时激活的连接数量datasource.setMaxWait(6000);//最大等待时间。以毫秒为单位.-1表示无限等待Connection connection=datasource.getConnection();}
}

2.2 HikariCP使用

下载地址:https://repo1.maven.org/maven2/com/zaxxer/HikariCP/5.0.1/

依赖下载地址:https://repo1.maven.org/maven2/org/slf4j/slf4j-api/2.0.6/

public class Test {public static void main(String[] args)throws SQLException {HikariDataSource datasource=new HikariDataSource();datasource.setDriverClassName("com.mysq1.cj.jdbc.Driver");datasource.setJdbcUrl("jdbc:mysq1://1ocalhost:3306/test");datasource.setUsername("root");datasource.setPassword("123456");datasource.setMinimumIdle(10);Connection connection =datasource.getConnection();}
}


http://www.ppmy.cn/ops/24858.html

相关文章

Oracle 表分区

1.概述 分区表就是将表在物理存储层面分成多个小的片段,这些片段即称为分区,每个分区保存表的一部分数据,表的分区对上层应用是完全透明的,从应用的角度来看,表在逻辑上依然是一个整体。 目的:提高大表的查…

常见设计模式及其Rust实现

本文提供了一个设计模式的综合概述,涵盖了设计模式的必要性,基本原则以及23种常见模式的概括性描述。结合Rust语言自身的特性,重点阐述了Rust中Builder,Combinator,RAII,Typestate(state machine), Command, Strategy和…

Go语言基本语法(四)函数与变量的作用域

函数 Go语言中的函数(Function)是执行特定任务的代码块,它们是构建程序的基本单位之一。函数可以接受输入参数,执行一系列操作,并可返回结果。Go语言的函数设计简洁,强调代码的清晰度和模块化。下面是Go函…

内存溢出如何实现自动化重启

linux内存溢出系统自动化重启 为了在Linux系统中自动化处理内存溢出(Out of Memory, OOM)情况并重启系统,你可以使用以下步骤和脚本: 使用cron守护进程来定期检查内存使用情况。 如果内存使用量超过某个阈值,触发系统…

初步认识Vscode

4.26初步认识Vscode (一)快捷键的使用 1. 打开控制端 ctrl ~2. 结束终端 ctrl c3. 多行同时对齐输出 按住shift alt 光标多选4. 多行同时任意位置输出 按住alt 光标单点你想要输入的位置5. 代码太长了,想混行编辑 alt z6. 打开设置控制…

FPGA之zynq_DDR(1)

学习一下关于DDR的知识和vivado操作吧。 用PS控制DDR内存读写 【ZYNQ-7000开发之六】使用PS控制DDR3的读写_xil_in32读取ddr数据-CSDN博客 在新建block design时,选择DDR,选择UART(为什么要用uart?) 找到DDR的地址&a…

分布式与一致性协议之CAP和Paxos算法(一)

CAP 理论 如何使用BASE理论 以InfluxDB系统中DATA节点的集群实现为例。DATA节点的核心功能是读和写,所以基本可用是指读和写的基本可用。我们可以通过分片和多副本实现读和写的基本可用。也就是说,将同一业务的数据先分片,再以多份副本的形…

接口自动化测试推荐用什么框架?

在推荐接口自动化测试框架时,需要考虑多个因素,包括项目需求、技术栈、团队经验和个人偏好。 以下是几个常用的接口自动化测试框架供你参考: Postman: Postman是一个功能强大且易于上手的接口测试工具,它提供了许多…