中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Spring Boot 實現整合連接池的方法

發布時間:2020-11-03 15:52:46 來源:億速云 閱讀:196 作者:Leah 欄目:開發技術

Spring Boot 實現整合連接池的方法?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Spring Boot 整合連接池

在實際開發中應用程序與數據庫交互時,“獲得連接”或在“釋放資源”是非常消耗資源的兩個過程,為了解決如此類性能問題,通常這種情況我們采用連接池技術重用連接Connection對象,如圖1所示。

Spring Boot 實現整合連接池的方法
圖-1

其實Java為數據庫連接池提供了公共的接口:javax.sql.DataSource,各個廠商需要讓自己的連接池實現這個接口。然后我們的應用程序中耦合這個接口,便可以方便的切換不同廠商的連接池,常見的連接池有DBCP、C3P0、DRUID、HikariCP等。

通過連接池獲取連接的一個基本過程,如圖2所示:

Spring Boot 實現整合連接池的方法
圖-2

在圖-2中,用戶先通過DataSource對象的getConnection()方法,獲取一個連接,如果池中有連接,則直接將連接返回給用戶。如果池中沒有連接,則會調用Dirver(驅動)對象的connect方法從數據庫獲取,拿到連接后,可以將連接在連接池中也放一份,然后再將連接返回給調用用戶。

一、整合HikariCP連接池

HikariCP號稱是目前世界上最快的連接池,有江湖一哥的稱號,目前在SpringBoot工程默認推薦使用HikariCP連接池。我們在創建一個新項目時步驟如下:

第一步:添加依賴。

編輯項目中的pom.xml,查找MySQL Driver、JDBC API 依賴,依賴添加后,會在pom.xml文件中自動添加如下兩個依賴配置:

1.mysql數據庫驅動依賴。

<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <scope>runtime</scope>
</dependency>

2.spring對象jdbc支持(此時會默認幫我們下載HiKariCP連接池)

<dependency>
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

第二步:配置連接池。

打開application.properties配置文件,添加如下內容。

spring.datasource.url=jdbc:mysql:///dbgoods&#63;serverTimezone=GMT%2B8&characterEncoding=utf8

spring.datasource.username=root

spring.datasource.password=root

第三步:進行單元測試。

package com.cy.pj.common.datasource;

import java.sql.SQLException;
import javax.sql.DataSource;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class DataSourceTests {

@Autowired
 private DataSource dataSource;
 @Test
 public void testConnection() throws Exception{
   System.out.println(dataSource.getConnection());
 }
}

第四步:原理分析,如圖-3所示。

Spring Boot 實現整合連接池的方法

圖-3

在圖-3中,演示了我們在測試類DataSourceTests中基于DataSource獲取連接的一個基本過程。

二、Spring Boot整合MyBatis框架

MyBatis是一個優秀的持久層框架,底層基于JDBC實現與數據庫的交互。并在JDBC操作的基礎上做了封裝的優化,他借助靈活的SQL定制,參數以及結果集的映射方式,更好的適應了當前互聯網技術的發展。MyBatis框架的簡單應用框架,如圖-4所示:

Spring Boot 實現整合連接池的方法

圖-4

在當前互聯網應用項目中,MyBatis框架通常會由spring框架進行資源整合,作為技術層實現數據交互操作。

1、初始配置

添加mybatis啟動依賴
參考mybatis官網,找到springboot菜單選項。基于菜單項找到MyBatis啟動依賴。

 <dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>2.1.1</version>
 </dependency>

注意: 在添加此依賴時,一定指定其版本(version),因為在springboot默認配置中沒有設置mybatis框架版本。

2、MyBatis簡易配置
我們添加了mybatis依賴后,spring框架啟動時會對mybatis進行自動配置。例如SqlSessionFactory工廠對象的創建。想要對mybatis進行簡易配置是在application.properties文件中進行

mybatis.configuration.default-statement-timeout=30
mybatis.configuration.map-underscore-to-camel-case=true

配置mybatis中的sql日志的輸出:

logging.level.com.cy=DEBUG

3、業務分析
基本業務的實現及單元測試

基于Spring對MyBatis框架的整合,實現對商品庫中數據的刪除操作。

第一步:業務API架構的設計,如圖-5所示

Spring Boot 實現整合連接池的方法

圖-5

第二步:基于id執行商品刪除信息,業務時序見圖-6

Spring Boot 實現整合連接池的方法

圖-6

業務進階分析及實現

在MyBatis框架中定義SQL映射的方式有兩種:一種是將SQL映射定義在我們的xml映射文件中,一種是借助注解將其聲明在接口方法上。我們在實際項目中對于簡單的SQL映射可以直接以注解的方式進行聲明即可,復雜SQL還是要寫到xml中,充分利用動態SQL進行設計會更好些。

三、Spring Boot整合SpringMVC應用

概述

MVC(Model-view-controller)是軟件工程中的一種軟件架構模式,基于此模式把軟件系統分為三個基本部分:模型(Model)、試圖(view)和控制器(Controller)。目的是通過這樣的設計使程序結構更簡潔、直觀,降低問題的復雜程度。其中各個組成部分的職責為:

視圖(view):--UI設計人員進行圖形界面的設計,負責實現與用戶交互。
控制器(controller):--負責獲取請求,處理請求,響應結果。
模塊(model):--實現業務邏輯,數據邏輯。

關于Spring Boot 實現整合連接池的方法問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

苏尼特左旗| 伊吾县| 德江县| 钟山县| 沛县| 九江市| 巫山县| 扬州市| 绥化市| 正安县| 永吉县| 通江县| 江城| 高邮市| 卢氏县| 类乌齐县| 淄博市| 东城区| 句容市| 平和县| 罗源县| 高要市| 宣威市| 灵山县| 社旗县| 常山县| 崇礼县| 阜阳市| 西青区| 屏东县| 丹寨县| 大田县| 宁武县| 仲巴县| 兴安县| 哈尔滨市| 镇赉县| 锡林浩特市| 鹿泉市| 苍山县| 深水埗区|