JAVA *数据库连接池 * 接JDBC

一.介绍:

        数据库连接池实际上就是一个   " 容器  " 

        当有多个拥护需要访问数据库的时候, 一个用户会打开一个数据库连接, 但是!当用户离开的时候,就会断开数据库连接,那么数据库连接就作废了,之后如果还有用户需要进行访问,需要再建立一个数据库连接......循环往复, 那么数据库的执行效率就会十分的慢....

        以此作为前提的情况下,我们就可以使用连接池!也就是一个连接池当中有多个的数据库连接, 当用户使用完了之后数据库连接并没有被清楚,而是又回到了连接池当中,以便下一个用户再使用数据库连接! 通过这一点,可以极大的提高效率,而减少了建立连接的时间 

        *提高了资源的重用   提升系统响应速度*

        当然,连接池也会有一定的 "自我判断能力"  指的是, 如果一个用户  "睡着了"  也就是长时间占用连接而不归还, 连接池就会强制的拿回这个连接  及时的归还资源,强制的断开连接

                        *避免了连接遗漏*

        由此可见,连接池的优点大概有三大部分

        1.提高资源的重用

        2.提升系统响应速度

        3.避免了数据库的连接遗漏

二.数据库连接池的实现

        1.官方接口

        DataSoure

        功能:获取连接   

        2.常见的数据库连接池:

        DBCP

        C3P0

        Druid(德鲁伊)

        在这里我们重点讲解第三种Druid,其功能十分强大,并且该市JAVA语言最好的数据库连接池之一!

三:"赛前"准备

        Druid的使用主要分为五个步骤:

        1.导入jar包 durid  (拿1.1.12的版本作为一个例子)

        1>首先下载相应的durid包

        https://repo1.maven.org/maven2/com/alibaba/druid/1.1.12/druid-1.1.12.jar

        这个是1.1.12版本的一个druid  jar包 

                                                        ~~~~~下载的~~~~~比较慢

        如果先前并没有导入过mysql的,最好两个都进行下载并导入,安装包请收下,也可以看之前有关JDBC的有关内容补课~~~~

https://cdn.mysql.com/archives/mysql-installer/mysql-installer-community-8.0.35.0.msi       

MYSQL--JDBC*-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/2303_79546217/article/details/136367691?spm=1001.2014.3001.5502

2>导入

                打开IDEA新建文件夹Lib,将刚搞下载好的包复制,粘贴进去即可,如下

        

                                之后点击Add.....,再设置模块有效即可,如图

         2.配置文件!*:

                1.新的IDEA跟之前的IDEA配置文件图像有所变化,但是大体位置依然是没有变的,在相应的src当中创建druid.properties文件,如图

                                        之后向这个文件当中输入以下的数据

driverClassName = com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/填写需要进行操作的数据库的名称
#输入你的MYSQL账户
username=root
#输入你的MYSQL密码
password=*****
#初始化连接个数
initialSize = 5
#最大的连接个数
maxActive = 10
#设置连接池的最大响应时间
maxWait = 3000

        3.加载配置文件

        4.后去连接池对象

        5.获取数据库连接Connection

        详细如下:

package druid;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.util.Properties;public class druiddemo1 {public static void main(String[] args) throws Exception {//1.导入JRE包//2.定义配置文件//3.加载配置文件Properties prop =new Properties();// 在这里输入相应的已经配置好的druid文件所在地点//但是有的时候前面需要加入模块包名称,有时候又不用,所以我们需要提前先进行一些判断,从而方便之后寻找//System.out.println(System.getProperty("user.dir"));// 输入之后会显示出一个地址,按照地址查找.在地址后面拼接上我们需要进行输入的地址,能够找到配置文件的!// 就是我们所需要进行输入的地址!prop.load(new FileInputStream("src/druid.properties"));//4.获取连接池查询对象DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);//5.获取数据库连接connectionConnection connection = dataSource.getConnection();System.out.println(connection);}
}

                                                                                感谢观看!OVER

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/714934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Mybatis】快速入门 基本使用 第一期

文章目录 Mybatis是什么?一、快速入门(基于Mybatis3方式)二、MyBatis基本使用2.1 向SQL语句传参2.1.1 mybatis日志输出配置2.1.2 #{}形式2.1.3 ${}形式 2.2 数据输入2.2.1 Mybatis总体机制概括2.2.2 概念说明2.2.3 单个简单类型参数2.2.4 实体…

Web组态可视化编辑器 快速绘制组态

随着工业智能制造的发展,工业企业对设备可视化、远程运维的需求日趋强烈,传统的单机版组态软件已经不能满足越来越复杂的控制需求,那么实现Web组态可视化界面成为了主要的技术路径。 行业痛点 对于软件服务商来说,将单机版软件转变…

计算机视觉基础知识(十六)--图像识别

图像识别 信息时代的一门重要技术;目的是让计算机代替人类处理大量的物理信息;随着计算机技术的发展,人类对图像识别技术的认识越来越深刻;图像识别技术利用计算机对图像进行处理\分析\理解,识别不同模式的目标和对象;过程分为信息的获取\预处理\特征抽取和选择\分类器设计\分…

重拾C++之菜鸟刷算法第6篇---栈与队列

栈与队列 一、用栈实现队列 题目 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除…

【Hadoop】使用Metorikku框架读取hive数据统计分析写入mysql

一、定义作业文件 作业文件 该文件将包括输入源、输出目标和要执行的配置文件的位置,具体内容如下 metrics:- /user/xrx/qdb.yaml # 此位置为hdfs文件系统目录 inputs: output:jdbc:connectionUrl: "jdbc:mysql://233.233.233.233:3306/sjjc"user: &quo…

虚拟帆船:利用技术出海的探险家

在数字化的浪潮中,一个新时代的探险家诞生了。他们不是在寻找未知大陆的勇士,而是在寻求跨界电商和全球游戏市场的先锋。这些现代探险家的帆船是由SOCKS5代理和代理IP构成的,他们的海图则是由数据和市场分析绘制的。 出海的第一步&#xff1a…

WebServer -- 注册登录

目录 🍉整体内容 🌼流程图 🎂载入数据库表 提取用户名和密码 🚩同步线程登录注册 补充解释 代码 😘页面跳转 补充解释 代码 🍉整体内容 概述 TinyWebServer 中,使用数据库连接池实现…

Linux 内核irq_stack遍历

环境Centos 4.18.0-80.el8.x86_64 一、x86架构堆栈类型说明 https://www.kernel.org/doc/Documentation/x86/kernel-stacks int get_stack_info(unsigned long *stack, struct task_struct *task,struct stack_info *info, unsigned long *visit_mask) {if (!stack)goto unk…

【深度学习笔记】计算机视觉——图像增广

图像增广 sec_alexnet提到过大型数据集是成功应用深度神经网络的先决条件。 图像增广在对训练图像进行一系列的随机变化之后,生成相似但不同的训练样本,从而扩大了训练集的规模。 此外,应用图像增广的原因是,随机改变训练样本可以…

Python + Selenium —— 下拉菜单处理!

传统的下拉菜单 Select 元素&#xff0c;由一个 Select 一系列的 option 元素构成。 <select id"source" name"source"><option value"">--请选择--</option><option value"1001">网络营销</option>&…

3.3 序列式容器-deque、stack、queue、heap、priority_queue

deque 3.1定义 std::deque&#xff08;双端队列&#xff09;是C标准模板库&#xff08;STL&#xff09;中的一种容器&#xff0c;表示双端队列数据结构。它提供了在两端高效地进行插入和删除操作的能力。与vector的连续线性空间类似&#xff0c;但有所不同&#xff0c;deque动…

基于ssm旅社客房收费管理系统+vue

目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框架技术 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3…

STM32使用FlyMcu串口下载程序与STLink Utility下载程序

文章目录 前言软件链接一、FlyMcu串口下载程序原理优化手动修改跳线帽选项字节其他功能 二、STLink Utility下载程序下载程序选项字节固件更新 前言 本文主要讲解使用FlyMcu配合USART串口为STM32下载程序、使用STLink Utility配合STLink为STM32下载程序&#xff0c;以及这两个…

代码随想录算法训练营第62/63天| 503.下一个更大元素II、42. 接雨水、84.柱状图中最大的矩形

文章目录 503.下一个更大元素II思路代码 42. 接雨水思路代码 84.柱状图中最大的矩形思路代码 503.下一个更大元素II 题目链接&#xff1a;503.下一个更大元素II 文章讲解&#xff1a;代码随想录|503.下一个更大元素II 思路 和739. 每日温度 (opens new window)也几乎如出一辙&…

C++/数据结构:AVL树

目录 一、AVL树的概念 二、AVL树的实现 2.1节点定义 2.2节点插入 三、AVL树的旋转 3.1新节点插入较高左子树的左侧&#xff1a;右单旋 3.2新节点插入较高右子树的右侧&#xff1a;左单旋 3.3新节点插入较高左子树的右侧---左右&#xff1a;先左单旋再右单旋 3.4新节点插…

Rocky Linux 运维工具 Systemd

一、Systemd 的简介 Systemd是一个用于管理Linux系统启动进程和服务的系统和服务管理器&#xff0c;取代了传统的init系统。它提供了并行启动、依赖关系管理、动态加载服务文件等功能&#xff0c;成为现代Linux发行版中主流的初始化系统。 二、Systemd 的参数说明 [Unit] Des…

SLAM基础知识-卡尔曼滤波

前言&#xff1a; 在SLAM系统中&#xff0c;后端优化部分有两大流派。一派是基于马尔科夫性假设的滤波器方法&#xff0c;认为当前时刻的状态只与上一时刻的状态有关。另一派是非线性优化方法&#xff0c;认为当前时刻状态应该结合之前所有时刻的状态一起考虑。 卡尔曼滤波是…

SD NAND:为车载显示器注入智能与安全的心脏

SD NAND 在车载显示器的应用 在车载显示器上&#xff0c;SD NAND&#xff08;Secure Digital NAND&#xff09;可以有多种应用&#xff0c;其中一些可能包括&#xff1a; 导航数据存储&#xff1a; SD NAND 可以用于存储地图数据、导航软件以及车载系统的相关信息。这有助于提…

微服务day03-Nacos配置管理与Nacos集群搭建

一.Nacos配置管理 Nacos不仅可以作为注册中心&#xff0c;可以进行配置管理 1.1 统一配置管理 统一配置管理可以实现配置的热更新&#xff08;即不用重启当服务发生变更时也可以直接更新&#xff09; dataId格式&#xff1a;服务名-环境名.yaml&#xff0c;分组一般使用默认…

InnoDB高级特性篇(5)-使用InnoDB的全文索引

InnoDB是MySQL数据库的一个关系型存储引擎。它提供了很多强大的功能&#xff0c;其中一个重要的功能是全文索引。全文索引允许我们在文本数据中进行高效的搜索&#xff0c;以找到包含特定关键词的记录。在本文中&#xff0c;我们将详细介绍如何在InnoDB中使用全文索引。 首先&…