java--JDBC-连接池----JDBC小总结

news/2024/9/19 17:45:36/ 标签: java, 数据库, 服务器

一.连接池

1.连接池概述

目的:为了解决建立数据库连接耗费资源和时间很多的问题,提高性能
Connection对象在JDBC使用的时候就会去创建一个对象,使用结束以后就会将这个对象给销毁了(close).每次创建和销毁对象都是耗时操作.需要使用连接池对其进行优化.
连接池初始化的时候,初始化多个连接,将多个连接放入到池(集合)中.每次获取的时候,都可以直接从连接池中进行获取.使用结束以后,将连接归还到池中.

例子:

老方式:生产出来,用完就销毁了

连接池方式 摩拜单车:骑之前, 有一个公司生产了很多的自行车, 需要骑车, 直接扫码使用就好了, 然后骑完之后, 还回去

2 .连接池原理

  • 程序一开始就创建一定数量的连接,放在一个容器(集合)中,这个容器称为连接池。
  • 使用的时候直接从连接池中取一个已经创建好的连接对象。
  • 关闭的时候不是真正关闭连接,而是将连接对象再次放回到连接池中。

3 编写标准的数据源(规范)

Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各
个厂商需要让自己的连接池实现这个接口。这样应用程序可以方便的
切换不同厂商的连接池!
常见的第三方连接池如下:C3P0,阿里巴巴-德鲁伊druid连接池

二.Druid 连接池

Druid是阿里巴巴开发的号称为监控而生的数据库连接池,Druid是国内目前最好的数据库连接池。在功能、性能、扩展性方面,都超过其他数据库连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。如:一年一度的双十一活动,每年春运的抢火车票。

Druid的下载地址:https://github.com/alibaba/druid
1. 导入jar包 druid-1.1.12.jar
2. 定义配置文件

3. 加载配置文件
4. 获取数据库连接池对象
5. 获取连接

1. 编写 druid.properties

2 编写DBUtil工具类

三.JDBC小总结

属性建议值说明
url数据库的jdbc连接地址。一般为连接oracle/mysql。示例
如下:
mysql : jdbc:mysql://ip:port/dbname option1&option2&…
oracle : jdbc:oracle:thin:@ip:port:oracle_sid
password登录数据库的用户密码
username 登录数据库的用户名
initialSize10-50已足够启动程序时,在连接池中初始化多少个连接
maxActive连接池中最多支持多少个活动会话
maxWait 100程序向连接池中请求连接时,超过maxWait的值后,认为本次请求失败,即连接池 没有可用连接,单位毫秒,设置-1时表示无限等待
minEvictableIdleTimeMillis见说明部

池中某个连接的空闲时长达到 N 毫秒后, 连接池在下次检查空闲连接时,将 见说明部分回收该连接,要小于防火墙超时设置

net.netfilter.nf_conntrack_tcp_timeout_established的设置


 


http://www.ppmy.cn/news/1527138.html

相关文章

音频评价指标

第一个是主观评价指标,后面几个是客观评价指标 1.MOS (Mean Opinion Score, 平均意见得分) 评价方法 MOS 是一种主观评估方法,通过让一组听众对合成的语音质量进行评分来衡量语音的自然度或质量。评分通常在 1 到 5 的范围内,1 表示“非常…

速盾:文件下载开cdn消耗流量大吗?

CDN(内容分发网络)是一种用于提高网站性能和用户体验的技术。它通过将静态文件和动态内容分发到位于世界各地的服务器节点,从而实现更快的加载速度和更高的可靠性。 在文件下载方面,CDN可以帮助提供更快速和可靠的下载体验。当用…

【乐吾乐大屏可视化组态编辑器】API接口文档(pgsql)

API接口文档(pgsql) 在线使用:https://v.le5le.com/ 采用前后端分离架构,乐吾乐后端服务提供一整套完整的web组态编辑器的所有数据接口,包含2D/3D图纸接口服务、文件接口服务和用户接口服务等,安装包版本…

智能机巢+无人机:自动化巡检技术详解

智能机巢与无人机的结合,在自动化巡检领域展现出了巨大的潜力和优势。以下是对这一技术的详细解析: 一、智能机巢概述 智能机巢,也被称为无人机机场或无人机机巢,是专门为无人机提供停靠、充电、维护等服务的智能化设施。它不仅…

【计算机网络】TCP 协议——详解三次握手与四次挥手

文章目录 一、引言二、TCP1、TCP 的数据格式2、TCP 的三次握手3、TCP 的四次挥手4、TCP 的全双工通信 三、TCP 的状态转换1、TCP 连接的建立(三次握手)状态2、TCP 连接的终止(四次挥手)状态3、TCP 异常情况 一、引言 TCP与UDP的区…

如何在win10Docker安装Mysql数据库?

1.拉取镜像 docker pull mysql 2.查看镜像 使用以下命令来查看是否已安装了 mysql镜像。 3.运行镜像 命令: docker run -p 3306:3306 --name mysql --restartalways --privilegedtrue \ -v /usr/local/mysql/log:/var/log/mysql \ -v /usr/local/mysql/data:/var…

Spring Boot基础

项目创建 项目启动 请求响应 RestController 1.返回值处理 RestController:这个注解结合了Controller和ResponseBody的功能。它默认将所有处理请求的方法的返回值直接作为响应体内容返回,主要用于构建RESTful API。返回的数据格式通常是JSON或XML&…

ccfcsp-202112-1、序列查询

202112-1 序列查询 #include <bits/stdc.h> using namespace std; int main(){int n, N;cin >> n >> N;vector<int> A(n 1,0);vector<int> fa(N 1,0);for(int i 1; i < n; i){cin >> A[i];}int j 1;int sum 0;for(int i 1; i &l…

sqlguna靶场get shell

一、打开靶场&#xff0c;发现一个搜索框&#xff0c;尝试sql注入&#xff0c;发现可以注入&#xff0c;爆破数据库&#xff0c;表名&#xff0c;字段名以及 用户名密码 二、发现密码被MD5&#xff0c;解密后得到密码 三、进入后台界面登陆查看 四、发现添加新闻出可以上传图片…

STL相关简介

string 看到这个词&#xff0c;相信大家一定都很好奇什么是string&#xff0c;它有什么作用呢&#xff1f;今天&#xff0c;就让我们一起来了解一下关于string的简介吧~ 目录 string 1. 什么是STL 2. STL的版本 3. STL的六大组件 4. STL的重要性 5. 如何学习STL 6.STL的…

[VMware]ESXI下硬盘的直通方式

ESXI6.7下直通硬盘给群晖步骤&#xff0c;RDM直通方式&#xff01; 参考文章&#xff1a;https://rmbz.net/archives/vmware-esxi-passthrough 1.进入ESXI6.7 web管理后台。开启SSH 2.点击存储&#xff0c;选择默认存储(ESXI安装硬盘)。复制位置地址备用&#xff1b; 3.打开SSH…

构建基于图数据库的问答应用:你的全面指南

构建基于图数据库的问答应用&#xff1a;你的全面指南 在这篇文章中&#xff0c;我们将探讨如何在图数据库上创建一个问答链。这种系统能够根据图数据库中的数据回答自然语言问题。 ⚠️ 安全提示 ⚠️ 在图数据库上构建问答系统需要执行模型生成的图查询。这本质上存在一定的…

[数据集][目标检测]疟疾恶性疟原虫物种目标检测数据集VOC+YOLO格式948张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;948 标注数量(xml文件个数)&#xff1a;948 标注数量(txt文件个数)&#xff1a;948 标注类别…

虚拟机centos_7 配置教程(镜像源、配置centos、静态ip地址、Finalshell远程操控使用)

文章目录 一、下载镜像源&#xff08;准备工作&#xff09;1、开源网站2、下载 二、VMware配置centos三、配置静态IP地址四、Finalshell使用1、下载Finalshell2、连接虚拟机 五、谢谢观看&#xff01; 一、下载镜像源&#xff08;准备工作&#xff09; 1、开源网站 有许多开源…

SpringCloud-04 OpenFeign服务调用与负载均衡

OpenFeign是一个声明式、模板化的HTTP客户端&#xff0c;它简化了在Java应用程序中调用RESTful API的过程。OpenFeign是Netflix开发的一个开源项目&#xff0c;它构建在Feign的基础上&#xff0c;为开发者提供了更加简单、灵活的方式来实现HTTP请求。OpenFeign的特点包括&#…

java技术栈介绍

Java技术栈是一个庞大而丰富的生态系统&#xff0c;它包含了从基础语言特性到高级框架、库和工具的整个集合。这个技术栈为开发者提供了构建各种类型应用&#xff08;包括企业级应用、Web应用、移动应用、大数据应用等&#xff09;所需的全部组件。以下是对Java技术栈的一个更详…

Nacos 与 Eureka 的区别

随着微服务架构的流行&#xff0c;服务发现成为了构建分布式系统的关键技术之一。在众多服务发现工具中&#xff0c;Nacos 和 Eureka 是两个非常受欢迎的选择。本文将深入探讨这两者的区别&#xff0c;帮助你在选择适合自己的服务发现解决方案时做出明智的决策。 如果你不懂得怎…

论文阅读-Demystifying Misconceptions in Social Bots Research

论文链接&#xff1a; https://arxiv.org/pdf/2303.17251 目录 摘要: Introduction Methodological issues Information leakage Cherry-picking&#xff08;采摘樱桃&#xff09; Straw-man methodology &#xff08;稻草人&#xff09; Data biases Conceptual issu…

在pycharm终端中运行pip命令安装模块时,出现了“你要如何打开这个文件”弹出窗口,是什么状况?

这种情况发生在Windows系统上&#xff0c;当在PyCharm终端中运行pip命令安装模块时&#xff0c;如果系统无法确定要使用哪个程序打开该文件&#xff0c;就会出现“你要如何打开这个文件”弹出窗口。 解决方法是&#xff1a; 选择“查找一个应用于此文件”的选项。在弹出的窗口…

专题四_位运算( >> , << , , | , ^ )_算法详细总结

目录 位运算 常见位运算总结 1.基础位运算 2.给一个数 n ,确定它的二进制表示中的第 x 位是 0 还是 1 3.运算符的优先级 4.将一个数 n 的二进制表示的第 x 位修改成 1 5.将一个数n的二进制表示的第x位修改成0 6.位图的思想 7.提取一个数&#xff08;n&#xff09;二进…