日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Spring Boot 如何整合連接池

瀏覽:16日期:2023-08-04 13:06:16

Spring Boot 整合連接池

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

Spring Boot 如何整合連接池圖-1

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

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

Spring Boot 如何整合連接池圖-2

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

一、整合HikariCP連接池

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

第一步:添加依賴。

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

1.mysql數(shù)據(jù)庫驅(qū)動依賴。

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

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

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

第二步:配置連接池。

打開application.properties配置文件,添加如下內(nèi)容。

spring.datasource.url=jdbc:mysql:///dbgoods?serverTimezone=GMT%2B8&characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=root

第三步:進(jìn)行單元測試。

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;@SpringBootTestpublic 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是一個優(yōu)秀的持久層框架,底層基于JDBC實現(xiàn)與數(shù)據(jù)庫的交互。并在JDBC操作的基礎(chǔ)上做了封裝的優(yōu)化,他借助靈活的SQL定制,參數(shù)以及結(jié)果集的映射方式,更好的適應(yīng)了當(dāng)前互聯(lián)網(wǎng)技術(shù)的發(fā)展。MyBatis框架的簡單應(yīng)用框架,如圖-4所示:

Spring Boot 如何整合連接池

圖-4

在當(dāng)前互聯(lián)網(wǎng)應(yīng)用項目中,MyBatis框架通常會由spring框架進(jìn)行資源整合,作為技術(shù)層實現(xiàn)數(shù)據(jù)交互操作。

1、初始配置

添加mybatis啟動依賴參考mybatis官網(wǎng),找到springboot菜單選項?;诓藛雾椪业組yBatis啟動依賴。

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

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

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

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

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

logging.level.com.cy=DEBUG

3、業(yè)務(wù)分析基本業(yè)務(wù)的實現(xiàn)及單元測試

基于Spring對MyBatis框架的整合,實現(xiàn)對商品庫中數(shù)據(jù)的刪除操作。

第一步:業(yè)務(wù)API架構(gòu)的設(shè)計,如圖-5所示

Spring Boot 如何整合連接池

圖-5

第二步:基于id執(zhí)行商品刪除信息,業(yè)務(wù)時序見圖-6

Spring Boot 如何整合連接池

圖-6

業(yè)務(wù)進(jìn)階分析及實現(xiàn)

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

三、Spring Boot整合SpringMVC應(yīng)用

概述

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

視圖(view):--UI設(shè)計人員進(jìn)行圖形界面的設(shè)計,負(fù)責(zé)實現(xiàn)與用戶交互??刂破?controller):--負(fù)責(zé)獲取請求,處理請求,響應(yīng)結(jié)果。模塊(model):--實現(xiàn)業(yè)務(wù)邏輯,數(shù)據(jù)邏輯。

我們在軟件設(shè)計時,通常要遵循一定的設(shè)計原則。MVC架構(gòu)迷失的設(shè)計中,首先基于單一職責(zé)原則讓每個對象各司其職。再通過'高內(nèi)聚,低耦合'的設(shè)計思想實現(xiàn)相關(guān)對象之間的交互,這樣可以更好的提高程序可維護(hù)性和可擴(kuò)展性。

Java EE 技術(shù)體系中,MVC設(shè)計思想的實現(xiàn)如圖所示。

Spring Boot 如何整合連接池

圖-7

在圖7中,Servlet充當(dāng)MVC中的Controller,負(fù)責(zé)調(diào)用model處理業(yè)務(wù),負(fù)責(zé)轉(zhuǎn)發(fā)或重定向到某個頁面,在頁面上呈現(xiàn)數(shù)據(jù)。模塊封裝了對Servlet的技術(shù)應(yīng)用,簡化了程序員對請求和響應(yīng)過程中數(shù)據(jù)的處理。Spring MVC是Spring框架中基于MVC設(shè)計思想實現(xiàn)的一個用于處理Web請求的模塊。

以上就是Spring Boot 如何整合連接池的詳細(xì)內(nèi)容,更多關(guān)于Spring Boot 整合連接池的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本成人在线不卡视频| 欧美精品不卡| 精品一区二区男人吃奶| 欧美国产先锋| 精品一区二区男人吃奶 | 国产精品毛片在线| 国产美女久久| 欧美专区18| 在线综合亚洲| 亚洲精品综合| 亚洲人成精品久久久| 国产精品自在| 精品三级久久久| 国产网站在线| 欧美在线资源| 9国产精品视频| 亚洲91网站| 国产精品chinese| 极品av在线| 久久久夜精品| 99精品小视频| 免费成人av在线播放| 中文字幕成人| 国产精品magnet| 欧美色综合网| 一区二区三区四区在线观看国产日韩 | av在线日韩| 亚洲国产专区校园欧美| 国产亚洲激情| 国产精品一区二区免费福利视频| 国产精品国产三级国产在线观看| 蜜桃视频欧美| 免费观看在线综合色| 国产亚洲欧美日韩在线观看一区二区| 精品黄色一级片| 日韩午夜在线| 美腿丝袜亚洲三区| 美女亚洲一区| 不卡专区在线| 日韩va欧美va亚洲va久久| 国产盗摄——sm在线视频| 日本一区二区三区中文字幕| 精品日韩视频| 国产福利资源一区| 日韩极品在线观看| 国产区精品区| 久久激情五月婷婷| 亚洲精品乱码| 亚洲精选91| 国产精品亚洲产品| 美腿丝袜亚洲一区| av在线资源| 日韩高清中文字幕一区二区| 精品三级久久| 黄色av日韩| 亚洲精品伊人| 久久99性xxx老妇胖精品| 超碰99在线| 欧美手机在线| 先锋亚洲精品| 国产欧美一区二区三区国产幕精品 | 久久久精品网| 国产欧美一区| 麻豆成人91精品二区三区| 国产亚洲永久域名| 日韩免费精品| 日本午夜免费一区二区| 精品美女久久| 午夜影院欧美| 不卡一区综合视频| 蜜臀av国产精品久久久久| 男人的天堂久久精品| 日韩欧美久久| 精品国产精品国产偷麻豆 | 激情久久中文字幕| 男女性色大片免费观看一区二区| 日韩精品国产精品| 狠狠久久伊人| 亚洲综合不卡| 色欧美自拍视频| 日韩av不卡在线观看| 丝袜美腿诱惑一区二区三区 | 国产毛片精品| 亚洲福利专区| 美女性感视频久久| 国产精品毛片在线看| 久久伊人亚洲| 国产精品国产一区| 日韩福利视频网| 国产一区亚洲| 精品三区视频| 婷婷亚洲成人| 亚洲精品91| 欧美少妇精品| 国产欧美日韩精品一区二区免费| 蜜桃一区二区三区| 国产精品一区三区在线观看| 久久精品国产亚洲夜色av网站 | 精品视频久久| 久久国内精品| 日韩激情一二三区| 巨乳诱惑日韩免费av| 亚洲国产专区校园欧美| 国产高潮在线| 久久99蜜桃| 欧美影院视频| 日本不卡一区二区| 久久av免费| 亚洲精品黄色| 欧美天堂一区| 日本91福利区| 亚洲一区亚洲| 欧美+日本+国产+在线a∨观看| yellow在线观看网址| 精品视频亚洲| 亚洲天堂av影院| 亚洲国产欧美日本视频| 日韩大片在线播放| 四虎4545www国产精品| 欧美不卡高清| 亚洲欧美日本视频在线观看| 美女精品一区| 在线精品亚洲| 欧美永久精品| 免费在线看一区| 中文一区一区三区免费在线观| 视频在线观看91| 日韩精品三级| 亚洲欧美日韩国产综合精品二区| 久久久久久久久99精品大| 99久久婷婷这里只有精品| 美女少妇全过程你懂的久久| 国产日韩专区| 久久国内精品自在自线400部| 国产精品videossex久久发布| 国产第一亚洲| 性欧美长视频| 久久久久伊人| 国产亚洲高清视频| 中文视频一区| 福利一区二区| 日韩国产精品久久久| 日本免费一区二区三区四区| 日本一区福利在线| 99久久久久国产精品| 欧美影院视频| 男人天堂欧美日韩| 日韩理论视频| 69精品国产久热在线观看| 日韩一区电影| 国产亚洲一卡2卡3卡4卡新区| 日韩精品一级| 日本黄色精品| 日韩不卡免费视频| 国产麻豆一区二区三区| 成人综合一区| 性欧美69xoxoxoxo| 日韩成人精品一区二区三区| 日韩精品欧美大片| 日韩精品永久网址| 日韩精品一二三四| 国产精品久一| 九一成人免费视频| 欧美日本不卡| 黄色在线一区| 国产精品毛片一区二区在线看| 久久久久国产精品一区二区| 日韩国产在线观看| 久久国产电影| 日本不卡的三区四区五区| 欧美不卡在线| 国产精品一区免费在线| 不卡在线一区二区| 国产理论在线| 国产aa精品| 久久不见久久见中文字幕免费| 欧美 日韩 国产一区二区在线视频 | 激情六月综合| 久久av国产紧身裤| 在线一区免费观看| 999国产精品| 国产精品hd| 欧美日韩亚洲一区在线观看| 99国产精品99久久久久久粉嫩| 日韩视频网站在线观看| 国产伦精品一区二区三区千人斩| 国产精品色网| 激情视频一区二区三区| 亚洲精品**中文毛片| 成人一区不卡| 久久国际精品| 亚洲欧美日本国产| 亚洲欧美久久| 欧美一区二区三区激情视频 | 国产精品天天看天天狠| 免费视频最近日韩| 快she精品国产999| 亚洲美洲欧洲综合国产一区| 国产综合欧美| 国产综合精品|