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.hqwc.cn/news/505710.html

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

相关文章

web基础03-JavaScript

目录 一、JavaScript基础 1.变量 2.输出 3.变量提升 4.区块 5.JavaScript数据类型 6.查看数值类型 7.undefined和null 8.布尔值 9.和的区别 10.算数/三元/比较/逻辑/赋值运算符 11.特殊字符 12.字符串 (1)获取字符串长度 (2&am…

聚观早报 | 2024款腾势D9将发布;岚图汽车2月销量

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 3月2日消息 2024款腾势D9将发布 岚图汽车2月销量 苹果Vision Pro防汗新专利 真我12 Pro正式开售 Redmi K70/Pro…

Java面试——Redis

优质博文:IT-BLOG-CN 一、Redis 为什么那么快 【1】完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中。 【2】数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的。 【3】采用单线…

win11系统中nginx简单的代理配置

一.背景 为了公司安排的师带徒任务。 操作系统版本:win11家庭版 nginx版本:1.24.0 二.配置代理 之前文章已经说明了nginx简单的安装,要看阅读这个文章哈。web服务器nginx下载及在win11的安装-CSDN博客 1.配置需求识别 前端服务nginx(80…

web开发:如何用Echarts来自动给网页设计各种统计图

很多时候web开发也会需要用到统计图,如果单纯靠我们自己那点拙劣的css和js水平设计的话,又耗时间又做得跟史一样,这时候就需要引入别人设计师为我们设计好的动态统计图——echarts Echarts的官网是:Apache ECharts 1、第一步&…

从下一代车规MCU厘清存储器的发展(1)

目录 1.车规MCU制程工艺朝28nm进发 2.MCU存储器概述 3.MCU大厂的选择 3.1 瑞萨自研STT-MRAM 3.2 ST专注PCM 3.3 英飞凌和台积电联手RRAM 3.4 NXP如何计划eNVM 4.小结 1.车规MCU制程工艺朝28nm进发 随着英飞凌发布了关于AURIX TC4xx系列即将量产的新闻,国际…

基于yolov8与pyqt5的火焰烟雾实时检测系统设计

界面 权重:可以选择自己训练的yolov8模型,也可以用一些改进的yolov8模型作为系统的权重。 功能:单张图片的检测,视频文件的检测,多张图片同时检测,以及摄像头实时检测。 调整:可以调整置信度&…

XSS初级漏洞靶场

一、环境的搭建 可以在githb上找靶机包,使用小皮面板搭建在自己本机 与此文章类似(放在www目录下) 二、XSS漏洞简介 1、什么是xss漏洞 当用户访问被xss注入的网页,xss代码就会被提取出来。用户浏览器就会解析这段xss代码&…

FNM和SFNM的区别

看图说话。 级联模式下,FNM模式,从片的中断都是同一个级别,因此从片如果有多个中断发生,中断之间不会抢占,只能按顺序处理。 级连模式下,SFNM模式,从片中断有优先级的区别,高优先级…

选购墨水屏电子会议桌牌的技巧分享

在现代商务会议中,电子会议桌牌已经成为了不可或缺的工具。而在众多电子会议桌牌中,墨水屏电子会议桌牌因其独特的显示效果和节能特性受到了广泛关注。那么,面对市场上琳琅满目的产品,深圳金之桥信息如何选择一款适合自己的墨水屏…

Redis源码安装教程来喽~

一.下载 Index of /releases/ [rootserver ~]# wget --no-check-certificate http://download.redis.io/releases/redis-6.2.7.tar.gz二.解压 [rootserver ~]# tar xf redis-6.2.7.tar.gz -C /usr/local/ [rootserver ~]# cd /usr/local [rootserver local]# ll 总用量 44K …

力扣34. 在排序数组中查找元素的第一个和最后一个位置(二分查找)

Problem: 34. 在排序数组中查找元素的第一个和最后一个位置 文章目录 题目描述思路复杂度Code 题目描述 思路 Problem: 二分查找常用解题模板(带一道leetcode题目) 直接套用上述中的寻找左、右边界的二分查找模板即可 复杂度 时间复杂度: O ( l o g n )…