国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Javaweb之數(shù)據(jù)庫連接池以及l(fā)ombok類庫的詳細解析

這篇具有很好參考價值的文章主要介紹了Javaweb之數(shù)據(jù)庫連接池以及l(fā)ombok類庫的詳細解析。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

3. 數(shù)據(jù)庫連接池

在前面我們所講解的mybatis中,使用了數(shù)據(jù)庫連接池技術(shù),避免頻繁的創(chuàng)建連接、銷毀連接而帶來的資源浪費。

下面我們就具體的了解下數(shù)據(jù)庫連接池。

3.1 介紹

Javaweb之數(shù)據(jù)庫連接池以及l(fā)ombok類庫的詳細解析,Web,數(shù)據(jù)庫,開發(fā)語言,數(shù)據(jù)庫開發(fā),架構(gòu)

沒有使用數(shù)據(jù)庫連接池:

  • 客戶端執(zhí)行SQL語句:要先創(chuàng)建一個新的連接對象,然后執(zhí)行SQL語句,SQL語句執(zhí)行后又需要關(guān)閉連接對象從而釋放資源,每次執(zhí)行SQL時都需要創(chuàng)建連接、銷毀鏈接,這種頻繁的重復創(chuàng)建銷毀的過程是比較耗費計算機的性能。

  • Javaweb之數(shù)據(jù)庫連接池以及l(fā)ombok類庫的詳細解析,Web,數(shù)據(jù)庫,開發(fā)語言,數(shù)據(jù)庫開發(fā),架構(gòu)

數(shù)據(jù)庫連接池是個容器,負責分配、管理數(shù)據(jù)庫連接(Connection)

  • 程序在啟動時,會在數(shù)據(jù)庫連接池(容器)中,創(chuàng)建一定數(shù)量的Connection對象

允許應(yīng)用程序重復使用一個現(xiàn)有的數(shù)據(jù)庫連接,而不是再重新建立一個

  • 客戶端在執(zhí)行SQL時,先從連接池中獲取一個Connection對象,然后在執(zhí)行SQL語句,SQL語句執(zhí)行完之后,釋放Connection時就會把Connection對象歸還給連接池(Connection對象可以復用)

釋放空閑時間超過最大空閑時間的連接,來避免因為沒有釋放連接而引起的數(shù)據(jù)庫連接遺漏

  • 客戶端獲取到Connection對象了,但是Connection對象并沒有去訪問數(shù)據(jù)庫(處于空閑),數(shù)據(jù)庫連接池發(fā)現(xiàn)Connection對象的空閑時間 > 連接池中預(yù)設(shè)的最大空閑時間,此時數(shù)據(jù)庫連接池就會自動釋放掉這個連接對象

數(shù)據(jù)庫連接池的好處:

  1. 資源重用

  2. 提升系統(tǒng)響應(yīng)速度

  3. 避免數(shù)據(jù)庫連接遺漏

3.2 產(chǎn)品

要怎么樣實現(xiàn)數(shù)據(jù)庫連接池呢?

  • 官方(sun)提供了數(shù)據(jù)庫連接池標準(javax.sql.DataSource接口)

    • 功能:獲取連接

      public Connection getConnection() throws SQLException;
    • 第三方組織必須按照DataSource接口實現(xiàn)

常見的數(shù)據(jù)庫連接池:

  • C3P0

  • DBCP

  • Druid

  • Hikari (springboot默認)

現(xiàn)在使用更多的是:Hikari、Druid (性能更優(yōu)越)

  • Hikari(追光者) [默認的連接池]

  • Javaweb之數(shù)據(jù)庫連接池以及l(fā)ombok類庫的詳細解析,Web,數(shù)據(jù)庫,開發(fā)語言,數(shù)據(jù)庫開發(fā),架構(gòu)

  • Druid(德魯伊)

    • Druid連接池是阿里巴巴開源的數(shù)據(jù)庫連接池項目

    • 功能強大,性能優(yōu)秀,是Java語言最好的數(shù)據(jù)庫連接池之一

如果我們想把默認的數(shù)據(jù)庫連接池切換為Druid數(shù)據(jù)庫連接池,只需要完成以下兩步操作即可:

參考官方地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

  1. 在pom.xml文件中引入依賴

<dependency>
 ? ?<!-- Druid連接池依賴 -->
 ? ?<groupId>com.alibaba</groupId>
 ? ?<artifactId>druid-spring-boot-starter</artifactId>
 ? ?<version>1.2.8</version>
</dependency>
  1. 在application.properties中引入數(shù)據(jù)庫連接配置

方式1:

spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.druid.username=root
spring.datasource.druid.password=1234

方式2:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.username=root
spring.datasource.password=1234

4. lombok

4.1 介紹

Lombok是一個實用的Java類庫,可以通過簡單的注解來簡化和消除一些必須有但顯得很臃腫的Java代碼。

Javaweb之數(shù)據(jù)庫連接池以及l(fā)ombok類庫的詳細解析,Web,數(shù)據(jù)庫,開發(fā)語言,數(shù)據(jù)庫開發(fā),架構(gòu)

通過注解的形式自動生成構(gòu)造器、getter/setter、equals、hashcode、toString等方法,并可以自動化生成日志變量,簡化java開發(fā)、提高效率。

注解 作用
@Getter/@Setter 為所有的屬性提供get/set方法
@ToString 會給類自動生成易閱讀的 toString 方法
@EqualsAndHashCode 根據(jù)類所擁有的非靜態(tài)字段自動重寫 equals 方法和 hashCode 方法
@Data 提供了更綜合的生成代碼功能(@Getter + @Setter + @ToString + @EqualsAndHashCode)
@NoArgsConstructor 為實體類生成無參的構(gòu)造器方法
@AllArgsConstructor 為實體類生成除了static修飾的字段之外帶有各參數(shù)的構(gòu)造器方法。

4.2 使用

第1步:在pom.xml文件中引入依賴

<!-- 在springboot的父工程中,已經(jīng)集成了lombok并指定了版本號,故當前引入依賴時不需要指定version -->
<dependency>
 ? ?<groupId>org.projectlombok</groupId>
 ? ?<artifactId>lombok</artifactId>
</dependency>

第2步:在實體類上添加注解

import lombok.Data;
?
@Data
public class User {
 ? ?private Integer id;
 ? ?private String name;
 ? ?private Short age;
 ? ?private Short gender;
 ? ?private String phone;
}

在實體類上添加了@Data注解,那么這個類在編譯時期,就會生成getter/setter、equals、hashcode、toString等方法。

Javaweb之數(shù)據(jù)庫連接池以及l(fā)ombok類庫的詳細解析,Web,數(shù)據(jù)庫,開發(fā)語言,數(shù)據(jù)庫開發(fā),架構(gòu)

說明:@Data注解中不包含全參構(gòu)造方法,通常在實體類上,還會添加上:全參構(gòu)造、無參構(gòu)造

import lombok.Data;
?
@Data //getter方法、setter方法、toString方法、hashCode方法、equals方法
@NoArgsConstructor //無參構(gòu)造
@AllArgsConstructor//全參構(gòu)造
public class User {
 ? ?private Integer id;
 ? ?private String name;
 ? ?private Short age;
 ? ?private Short gender;
 ? ?private String phone;
}

Lombok的注意事項:

  • Lombok會在編譯時,會自動生成對應(yīng)的java代碼

  • 在使用lombok時,還需要安裝一個lombok的插件(新版本的IDEA中自帶)

  • Javaweb之數(shù)據(jù)庫連接池以及l(fā)ombok類庫的詳細解析,Web,數(shù)據(jù)庫,開發(fā)語言,數(shù)據(jù)庫開發(fā),架構(gòu)文章來源地址http://www.zghlxwxcb.cn/news/detail-774102.html

到了這里,關(guān)于Javaweb之數(shù)據(jù)庫連接池以及l(fā)ombok類庫的詳細解析的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • maven如何建立JavaWeb項目并連接數(shù)據(jù)庫,驗證登錄

    maven如何建立JavaWeb項目并連接數(shù)據(jù)庫,驗證登錄

    這里是建立建立web項目:Maven如何創(chuàng)建Java web項目(純干貨版)?。。明天更新的博客-CSDN博客 我們主要演示如何連接數(shù)據(jù)庫驗證登錄。 1.在webapp目錄下創(chuàng)建我們的登錄頁面:index.jsp??? 還需要再寫一個驗證登錄成功的頁面(如果頁面跳轉(zhuǎn)成功就代表登錄成功) ?內(nèi)容如下:

    2024年02月13日
    瀏覽(22)
  • Java/JavaWeb連接數(shù)據(jù)庫完成增刪改查(胎教級教程)

    Java/JavaWeb連接數(shù)據(jù)庫完成增刪改查(胎教級教程)

    目錄 項目展示:(增刪改查)環(huán)境:Tomcat 8.5 1.數(shù)據(jù)庫結(jié)構(gòu) ????????1.1 創(chuàng)建數(shù)據(jù)庫(source_db) ????????1.2?創(chuàng)建數(shù)據(jù)表(tb_source),結(jié)構(gòu)如下。 2.項目文件結(jié)構(gòu) 3.jar包導入 4.創(chuàng)建JDBC數(shù)據(jù)庫訪問類:JDBCutil 5.創(chuàng)建實體類:Source 6.創(chuàng)建數(shù)據(jù)訪問層:SourceDao 7.創(chuàng)建業(yè)務(wù)邏輯層

    2024年02月08日
    瀏覽(21)
  • idea寫一個連接MySQL數(shù)據(jù)庫的javaweb項目(基礎(chǔ)向)

    idea寫一個連接MySQL數(shù)據(jù)庫的javaweb項目(基礎(chǔ)向)

    ? ? ? ? 一個完整javaweb項目大致可以分為這三個層: ? ? ? ? 顯示層、業(yè)務(wù)層、數(shù)據(jù)訪問層(DAO層) 顯示層: 顯示在客戶端的html,jsp等網(wǎng)頁文件 和 處理來自網(wǎng)頁提交數(shù)據(jù)(controller) 業(yè)務(wù)層: 是顯示層和數(shù)據(jù)訪問層之間的橋梁,通過顯示層的需求進行不同的數(shù)據(jù)訪問 數(shù)

    2024年02月05日
    瀏覽(19)
  • (代碼注釋超詳細)JavaWeb連接Mysql數(shù)據(jù)庫完成登錄注冊業(yè)務(wù)

    (代碼注釋超詳細)JavaWeb連接Mysql數(shù)據(jù)庫完成登錄注冊業(yè)務(wù)

    登錄:完成連接數(shù)據(jù)庫判斷登陸信息是否有誤 注冊:將信息填寫完畢后點擊注冊,跳轉(zhuǎn)到登陸頁面 主頁:展示項目信息并且可以在頁面內(nèi)進行增刪改操作 完整文件目錄如下: 文件目錄: bean包中填寫的代碼為實體類 dao模型就是寫一個類,把訪問數(shù)據(jù)庫的代碼封裝起來 serv

    2023年04月22日
    瀏覽(21)
  • JavaWeb項目部署到服務(wù)器并連接本地數(shù)據(jù)庫(超詳細!)

    JavaWeb項目部署到服務(wù)器并連接本地數(shù)據(jù)庫(超詳細!)

    目錄 一、下載XShell、Xftp工具 二 、建立服務(wù)器連接 三、服務(wù)器環(huán)境配置 四、打包web項目傳輸入服務(wù)器 五、服務(wù)器Web項目連接本地數(shù)據(jù)庫 個人博客歡迎訪問 --- 猿客棧 在XShell官網(wǎng)下載兩個工具,用來操作服務(wù)器的Linux系統(tǒng) 輸入服務(wù)器的主機名,驗證用戶和密碼,默認用戶名

    2024年02月05日
    瀏覽(27)
  • JavaWeb登錄注冊系統(tǒng)/界面(郵箱驗證碼,數(shù)據(jù)庫連接,詳細注釋,可作結(jié)課作業(yè),可用于學習,可接入其他主系統(tǒng))

    JavaWeb登錄注冊系統(tǒng)/界面(郵箱驗證碼,數(shù)據(jù)庫連接,詳細注釋,可作結(jié)課作業(yè),可用于學習,可接入其他主系統(tǒng))

    目錄 1、致謝 2、前言 3、系統(tǒng)實機演示 4、系統(tǒng)分析與設(shè)計 (1)主要軟件與工具 (2)系統(tǒng)分析 (3)系統(tǒng)規(guī)劃 5、系統(tǒng)設(shè)計與構(gòu)建 (1)JavaWeb創(chuàng)建 (2)JavaWeb運行 (3)先期依賴準備: 6、代碼與關(guān)鍵注釋、文件簡析 (1)數(shù)據(jù)庫 (2)前端 index.jsp和styleIndex.css: forgetPassword

    2024年02月08日
    瀏覽(20)
  • IDEA連接數(shù)據(jù)庫,以及報錯問題

    IDEA連接數(shù)據(jù)庫,以及報錯問題

    IDEA是一款功能強大的開發(fā)工具,而IDEA連接數(shù)據(jù)庫是其中的一個附帶功能,該功能可以在我們開發(fā)大型任務(wù),編寫SQL語句時,提供幫助,例如以MySQL為例 解決SQL映射文件的警告提示: 在映射配置文件中存在報紅的情況。問題如下: 產(chǎn)生的原因:Idea和數(shù)據(jù)庫沒有建立連接,不

    2023年04月22日
    瀏覽(16)
  • 超詳細IDEA連接本地數(shù)據(jù)庫以及使用教程

    超詳細IDEA連接本地數(shù)據(jù)庫以及使用教程

    IDEA的項目要想連接本地數(shù)據(jù)庫,前提就是本地已經(jīng)配置有數(shù)據(jù)庫,并且可以使用 附Windows10 安裝配置數(shù)據(jù)庫教程: 超詳細MySQL(免安裝版)安裝與配置教程 點擊IDEA右側(cè)Database處 點擊+號----點擊Data Source----找到MySQL并選中 操作如下圖所示: 點擊Schemas----將要使用的數(shù)據(jù)庫打勾 點擊

    2024年02月15日
    瀏覽(30)
  • Python 連接clickhouse數(shù)據(jù)庫以及新建表結(jié)構(gòu),csv導入數(shù)據(jù)

    Python 連接clickhouse數(shù)據(jù)庫以及新建表結(jié)構(gòu),csv導入數(shù)據(jù)

    目錄 一、Python 連接clickhouse數(shù)據(jù)庫 ? clickhouse對外的接口協(xié)議通常有兩種形式: ? 代碼實現(xiàn)部分: 二、使用客戶端工具DBeaver連接clickhouse ? 新建clickhouse表 三、DBeaver 連接clickhouse 用csv文件導入數(shù)據(jù) ? 導入方式: 方法一:使用DBeaver自帶導入數(shù)據(jù)功能; 方法二:具體方式如

    2024年02月08日
    瀏覽(20)
  • QT實現(xiàn)連接MySQL數(shù)據(jù)庫以及查詢等操作

    QT實現(xiàn)連接MySQL數(shù)據(jù)庫以及查詢等操作

    功能包含數(shù)據(jù)庫的增刪改查和界面的顯示,因為沒有用.ui文件所以控件的位置都是手動設(shè)置的,寫的有點費勁 首先打開Navicat,新建一個名字為bak_db的數(shù)據(jù)庫,然后新建查詢導入下面的sql語句: 然后刷新顯示表已經(jīng)創(chuàng)建好了,接下來就開始進行操作了: 文件結(jié)構(gòu) 源碼在我的

    2024年02月04日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包