欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring數(shù)據(jù)訪問模板化方法

 更新時(shí)間:2019年01月07日 10:19:12   作者:李燦輝  
今天小編就為大家分享一篇關(guān)于Spring數(shù)據(jù)訪問模板化,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

在讀《Spring in Action》一書,讀到Spring數(shù)據(jù)訪問模板化的內(nèi)容時(shí),書中以乘坐飛機(jī)拖運(yùn)行李為例,介紹了模板方法這一設(shè)計(jì)模式。

在乘坐飛機(jī)需要拖運(yùn)行李時(shí),我們需要需要進(jìn)行行李登記。然后,將行李交給工作人員,工作人員會(huì)對(duì)行李進(jìn)行稱重,安全掃描檢查,然后通過傳送帶將行李傳送到擺渡車。擺渡車載上行李,將行李拉到飛機(jī)。到達(dá)目的地后,擺渡車會(huì)將行李從飛機(jī)上拉到取行李處,然后乘客取走自己的行李。

查看整個(gè)過程,這個(gè)過程對(duì)于所有乘客基本都是相同的。對(duì)不同乘客不一樣的地方,是登記行李時(shí)需要各個(gè)乘客參與,稱重后繳費(fèi)時(shí)需要乘客參與,到達(dá)目的地后取走行李時(shí)需要乘客參與。除此之外,整個(gè)過程無(wú)需乘客參與,是不變的部分。

把上述場(chǎng)景抽象一下,就是模板方法這一設(shè)計(jì)模式。模板方法設(shè)計(jì)模式定義過程的架構(gòu)。整個(gè)過程中不變的部分在父類中定義,過程中需要改變的部分,交由各個(gè)子類來(lái)實(shí)現(xiàn)。這樣,對(duì)于具體業(yè)務(wù)邏輯來(lái)說,實(shí)現(xiàn)整個(gè)過程,只需要開發(fā)需要變化的部分,即各個(gè)子類的邏輯即可,而不用寫大量的固定不變的代碼。

在Spring訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí),同樣適用模板方法。

我們使用JDBC來(lái)訪問數(shù)據(jù)庫(kù)的數(shù)據(jù)時(shí),大致的處理過程為,打開一個(gè)連接,開始事務(wù),執(zhí)行SQL,獲取返回的數(shù)據(jù),提交事務(wù),關(guān)閉資源,異常處理等。在訪問各個(gè)數(shù)據(jù)時(shí),打開連接,開始事務(wù),提交事務(wù),關(guān)閉資源,異常處理等過程都是不變的,沒有必要在每次訪問數(shù)據(jù)時(shí)都把上述邏輯寫一遍。每次訪問數(shù)據(jù)時(shí),我們應(yīng)該專注于執(zhí)行的SQL以及獲取返回的數(shù)據(jù)。所以,可以使用模板方法這一設(shè)計(jì)模式,來(lái)優(yōu)化這塊的代碼結(jié)構(gòu)。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • 初識(shí)Java一些常見的數(shù)據(jù)類型

    初識(shí)Java一些常見的數(shù)據(jù)類型

    這篇文章主要介紹Java一些常見的數(shù)據(jù)類型,Java是一種優(yōu)秀的程序設(shè)計(jì)語(yǔ)言,它具有令人賞心悅目的語(yǔ)法和易于理解的語(yǔ)義,下面文章小編就來(lái)簡(jiǎn)單介紹為什么說Java是最好的語(yǔ)言并且介紹它的各種常見類型,需要的朋友可以參考一下
    2021-10-10
  • Spring?boot2.0?實(shí)現(xiàn)日志集成的方法(2)

    Spring?boot2.0?實(shí)現(xiàn)日志集成的方法(2)

    這篇文章主要介紹了Spring?boot2.0?實(shí)現(xiàn)日志集成的方法,上一章講解了spring?boot日志簡(jiǎn)單集成,這篇我們將日志進(jìn)行分類,常規(guī)日志、異常日志、監(jiān)控日志等,需要將日志輸出到不同的文件,具體內(nèi)容需要的小伙伴可以參考一下
    2022-04-04
  • 從源碼角度簡(jiǎn)單看StringBuilder和StringBuffer的異同(全面解析)

    從源碼角度簡(jiǎn)單看StringBuilder和StringBuffer的異同(全面解析)

    下面小編就為大家分享一篇從源碼角度簡(jiǎn)單看StringBuilder和StringBuffer的異同(全面解析),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2017-12-12
  • Springboot2集成pagehelper過程圖解

    Springboot2集成pagehelper過程圖解

    這篇文章主要介紹了springboot2集成pagehelper過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 使用Easyexcel實(shí)現(xiàn)不同場(chǎng)景的數(shù)據(jù)導(dǎo)出功能

    使用Easyexcel實(shí)現(xiàn)不同場(chǎng)景的數(shù)據(jù)導(dǎo)出功能

    這篇文章主要為大家詳細(xì)介紹了如何在不同場(chǎng)景下使用Easyexcel實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • java實(shí)現(xiàn)字符串和日期類型相互轉(zhuǎn)換的方法

    java實(shí)現(xiàn)字符串和日期類型相互轉(zhuǎn)換的方法

    這篇文章主要介紹了java實(shí)現(xiàn)字符串和日期類型相互轉(zhuǎn)換的方法,涉及java針對(duì)日期與字符串的轉(zhuǎn)換與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2017-02-02
  • Java隱藏特性之雙括號(hào)初始化詳解

    Java隱藏特性之雙括號(hào)初始化詳解

    Java?語(yǔ)言擁有許多隱藏而強(qiáng)大的特性,其中之一是雙括號(hào)初始化,這篇文章將詳細(xì)介紹雙括號(hào)初始化的概念、用法和示例代碼,希望對(duì)大家有所幫助
    2023-12-12
  • Redis中的事務(wù)和Redis樂觀鎖詳解

    Redis中的事務(wù)和Redis樂觀鎖詳解

    這篇文章主要介紹了Redis中的事務(wù)和Redis樂觀鎖詳解,Redis事務(wù)是一個(gè)單獨(dú)的隔離操作:事務(wù)中的所有命令都會(huì)序列化、按順序地執(zhí)行,事務(wù)在執(zhí)行的過程中,不會(huì)被其他客戶端發(fā)送來(lái)的命令請(qǐng)求所打斷,需要的朋友可以參考下
    2023-12-12
  • Java中輸入被跳過情況的深入探究

    Java中輸入被跳過情況的深入探究

    這篇文章主要給大家介紹了關(guān)于Java中輸入被跳過情況的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java實(shí)現(xiàn)五子棋單機(jī)版

    Java實(shí)現(xiàn)五子棋單機(jī)版

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)五子棋單機(jī)版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論