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.pswp.cn/news/714934.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714934.shtml
英文地址,請注明出處:http://en.pswp.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中使用全文索引。 首先&…