最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis SQL運(yùn)行流程源碼詳解

 更新時(shí)間:2020年10月23日 09:03:49   作者:browser123  
這篇文章主要介紹了Mybatis SQL運(yùn)行流程源碼詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

概述

源碼就是能夠被用來執(zhí)行,生成機(jī)器能夠識(shí)別的代碼,通過開源源碼,可以引用其功能。

重要性

1、mybatis中的sql執(zhí)行,不僅要知道返回的結(jié)果是什么,還需要知道這結(jié)果是怎么來的,經(jīng)過了怎樣的處理,只有知道了這樣的原理,碰到問題才能更好的知道問題出在那個(gè)環(huán)節(jié)。

2、能更好的擴(kuò)展應(yīng)用程序,可以做到代碼的復(fù)用,減少開發(fā)成本和時(shí)間。

3、學(xué)習(xí)其中的設(shè)計(jì)思想能夠在其他應(yīng)用得已應(yīng)用。

步驟

源碼閱讀,可以從測(cè)試用例著手,每個(gè)源碼,多有大師們寫的測(cè)試用例,咱們可以用大師們寫的測(cè)試用例進(jìn)行相關(guān)功能的測(cè)試,這樣就可以知道其中的運(yùn)行原理及一些設(shè)計(jì)思想。

步驟1 測(cè)試用例請(qǐng)求

步驟2 進(jìn)行MapperProxy對(duì)象,MapperProxy代理是jdk動(dòng)態(tài)代理,根據(jù)傳入的mapper接口,動(dòng)態(tài)生成代理對(duì)象,代理對(duì)象同時(shí)實(shí)現(xiàn)了InvocationHandler接口。

步驟3:進(jìn)行到MapperMethod類,通過構(gòu)造器初始化SqlCommand靜態(tài)內(nèi)部類,跟配置文件的方法簽名對(duì)比,是不是有對(duì)應(yīng)的方法。

步驟4 進(jìn)行execute選擇執(zhí)行的Sqlsession


步驟5 進(jìn)入DefaultSqlsession,選擇執(zhí)行的執(zhí)行器,先選擇緩存執(zhí)行器,緩存沒有選擇默認(rèn)的簡單執(zhí)行器,如果mybatis有配置,就選擇配置的執(zhí)行器,并設(shè)置預(yù)處理參數(shù)。


步驟6 進(jìn)入申明處理對(duì)象進(jìn)行查詢,返回結(jié)果集

流程的請(qǐng)求總結(jié)

總結(jié)

1、mybatis使用了jdk的動(dòng)態(tài)代理,在程序執(zhí)行的時(shí)候生成一個(gè)具體的代理對(duì)象,執(zhí)行相關(guān)的邏輯,可以在代理的方法前后執(zhí)行一些邏輯,不用改變?cè)瓉眍惖倪壿?,就能增?qiáng)類方法的功能,在編寫底層代碼的時(shí)候動(dòng)態(tài)代理尤其重要;

2、應(yīng)用廣泛比如事物的管理、spring aop的原理實(shí)現(xiàn),登錄權(quán)限攔截、日志的統(tǒng)一輸出、統(tǒng)計(jì)每個(gè) api 的請(qǐng)求耗時(shí)等等。

3、研究源碼并不是為了研究而研究,要學(xué)習(xí)其中的思想,比如動(dòng)態(tài)代理、工廠模式、建造者模式,要利用這些原則來增加程序的可維護(hù)性、復(fù)用性、靈活性、可靠性。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 同時(shí)使用@LoadBalanced?@RefreshScope注解負(fù)載均衡失效分析

    同時(shí)使用@LoadBalanced?@RefreshScope注解負(fù)載均衡失效分析

    這篇文章主要為大家介紹了同時(shí)使用@LoadBalanced?@RefreshScope負(fù)載均衡失效問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Springboot2以代碼的方式統(tǒng)一配置Jackson教程

    Springboot2以代碼的方式統(tǒng)一配置Jackson教程

    這篇文章主要介紹了Springboot2以代碼的方式統(tǒng)一配置Jackson教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 在SpringBoot下讀取自定義properties配置文件的方法

    在SpringBoot下讀取自定義properties配置文件的方法

    這篇文章主要介紹了在SpringBoot下讀取自定義properties配置文件的方法,文中涉及到了Spring-boot中讀取config配置文件的兩種方式,需要的朋友可以參考下
    2017-12-12
  • SpringBoot頂層接口實(shí)現(xiàn)類注入項(xiàng)目的方法示例

    SpringBoot頂層接口實(shí)現(xiàn)類注入項(xiàng)目的方法示例

    本文主要介紹了SpringBoot頂層接口實(shí)現(xiàn)類注入項(xiàng)目的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • Java實(shí)現(xiàn)讀取resources目錄下的文件路徑的九種方式

    Java實(shí)現(xiàn)讀取resources目錄下的文件路徑的九種方式

    本文主要介紹了Java實(shí)現(xiàn)讀取resources目錄下的文件路徑的九種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 一文快速掌握Spring?Cloud?Stream

    一文快速掌握Spring?Cloud?Stream

    這篇文章主要介紹了Spring?Cloud?Stream詳解,本篇文章所涉及到的demo練習(xí)使用的cloud?2021.0.3+?springboot2.6.8,通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • SpringData JPA實(shí)現(xiàn)查詢分頁demo

    SpringData JPA實(shí)現(xiàn)查詢分頁demo

    本篇文章主要介紹了SpringData JPA實(shí)現(xiàn)查詢分頁demo,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • 詳解spring整合hibernate的方法

    詳解spring整合hibernate的方法

    這篇文章主要介紹了spring整合hibernate的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • idea引入外部jar包的方法實(shí)現(xiàn)

    idea引入外部jar包的方法實(shí)現(xiàn)

    本文主要介紹了idea引入外部jar包的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java for循環(huán)和foreach循環(huán)的性能對(duì)比分析

    Java for循環(huán)和foreach循環(huán)的性能對(duì)比分析

    這篇文章主要介紹了Java for循環(huán)和foreach循環(huán)的性能對(duì)比分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論

盐亭县| 邹城市| 广宗县| 阿瓦提县| 德兴市| 杭州市| 万源市| 桐乡市| 电白县| 南靖县| 郸城县| 万盛区| 炎陵县| 石嘴山市| 色达县| 洛宁县| 遵化市| 息烽县| 营口市| 呈贡县| 龙井市| 陇南市| 上蔡县| 锦屏县| 肥乡县| 沙坪坝区| 永清县| 四会市| 德阳市| 皋兰县| 长兴县| 呼伦贝尔市| 儋州市| 罗江县| 宁南县| 泰安市| 鄢陵县| 阿城市| 天镇县| 崇文区| 武平县|