溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring中HikariDataSource與JdbcTemplate的區別

發布時間:2021-09-14 14:14:05 來源:億速云 閱讀:247 作者:柒染 欄目:編程語言

這篇文章給大家介紹Spring中HikariDataSource與JdbcTemplate的區別,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

數據源與連接池的理解

數據源:指數據的來源,比如mysql、postgresql數據庫等。
連接池:它是一個池子,池子中存放多個線程(稱之為"connection"),用戶想連接數據源的時候,就會從池子中取一個"connection",用戶使用完了這個"connection"之后,便會釋放這個"connection","connection"重新回到池子中,供其它用戶使用。
如果沒有連接池,那么用戶每次操作數據庫的時候都會創建一個connection,如果并發數很大(假設10w),頻繁的創建連接非常占用cpu與內存資源,同時會造成數據庫連接過多報錯(數據庫的連接數是有限的)。
有連接池的時候,假設連接池的最大連接數是200,現在程序有10w個并發操作,這個時候10w個并發就會排隊使用這200個連接來執行sql。這樣連接池和數據庫的連接限制在200以內,不會造成數據庫連接過多錯誤。

HikariDataSource

HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName();
hikariConfig.setJdbcUrl();
hikariConfig.setUsername();
hikariConfig.setPassword();
HikariDataSource hikariDataSource = new HikariDataSource(hikariConfig);
boolean close = hikariDataSource.getConnction().isClosed();

JdbcTemplate

它是spring對原始jdbc封裝后提供的一個操作數據庫的工具類。我們可以利用它來完成數據庫的增刪改查操作。

手動連接數據源流程

1>前端傳連接名、數據庫服務器ip、端口、用戶名、密碼、數據庫類型等參數。
2>后端去連接數據庫,成功后保存連接名信息到數據庫。緩存記錄id與數據源的關系。
3>前端查詢所有數據庫列表,即"show databases",傳記錄id;后端根據記錄id從緩存中獲取數據源,然后執行sql查詢。
4>前端查詢某個數據庫的所有表列表,即"show tables",傳數據源記錄id、數據庫名;后端從數據庫獲取記錄詳情,換數據庫名,重新獲取數據庫連接,并建立新的數據源,緩存名稱為數據源名稱+數據庫名稱的組合。
5>前端查詢某個數據庫的某張表的列名列表,傳數據源記錄id、數據庫名、表名;后端根據記錄id(數據源名稱)+數據庫名稱從緩存中取出數據源,在執行業務sql。

關于Spring中HikariDataSource與JdbcTemplate的區別就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女