中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

用什么軟件做樓盤(pán)微網(wǎng)站廣州新塘網(wǎng)站seo優(yōu)化

用什么軟件做樓盤(pán)微網(wǎng)站,廣州新塘網(wǎng)站seo優(yōu)化,河北網(wǎng)站建設(shè)開(kāi)發(fā),怎么把網(wǎng)上的視頻保存到手機(jī)文章目錄 1.整體架構(gòu)圖2. 基礎(chǔ)支撐層2.1 類型轉(zhuǎn)換模塊2.2 日志模塊2.3 反射工具模塊2.4 Binding 模塊2.5 數(shù)據(jù)源模塊2.6緩存模塊2.7 解析器模塊2.8 事務(wù)管理模塊 3. 核心處理層3.1 配置解析3.2 SQL 解析與 scripting 模塊3.3 SQL 執(zhí)行3.4 插件 4. 接口層 1.整體架構(gòu)圖 MyBatis…

文章目錄

  • 1.整體架構(gòu)圖
  • 2. 基礎(chǔ)支撐層
    • 2.1 類型轉(zhuǎn)換模塊
    • 2.2 日志模塊
    • 2.3 反射工具模塊
    • 2.4 Binding 模塊
    • 2.5 數(shù)據(jù)源模塊
    • 2.6緩存模塊
    • 2.7 解析器模塊
    • 2.8 事務(wù)管理模塊
  • 3. 核心處理層
    • 3.1 配置解析
    • 3.2 SQL 解析與 scripting 模塊
    • 3.3 SQL 執(zhí)行
    • 3.4 插件
  • 4. 接口層

1.整體架構(gòu)圖

MyBatis 分為三層架構(gòu),分別是基礎(chǔ)支撐層、核心處理層和接口層,如下圖所示:

在這里插入圖片描述

2. 基礎(chǔ)支撐層

2.1 類型轉(zhuǎn)換模塊

  • <typeAliase> 標(biāo)簽的別名機(jī)制,由基礎(chǔ)支撐層中的類型轉(zhuǎn)換模塊實(shí)現(xiàn)的;
  • JDBC 類型與 Java 類型之間的相互轉(zhuǎn)換,綁定實(shí)參、映射 ResultSet 場(chǎng)景中都有所體現(xiàn):
    • 在 SQL 模板綁定用戶傳入實(shí)參的場(chǎng)景中,類型轉(zhuǎn)換模塊會(huì)將 Java 類型數(shù)據(jù)轉(zhuǎn)換成 JDBC 類型數(shù)據(jù);
    • 在將 ResultSet 映射成結(jié)果對(duì)象的時(shí)候,類型轉(zhuǎn)換模塊會(huì)將 JDBC 類型數(shù)據(jù)轉(zhuǎn)換成 Java 類型數(shù)據(jù)。

在這里插入圖片描述

2.2 日志模塊

MyBatis 提供了日志模塊來(lái)集成 Java 生態(tài)中的第三方日志框架,該模塊目前可以集成 Log4j、Log4j2、slf4j 等優(yōu)秀的日志框架。

2.3 反射工具模塊

MyBatis 的反射工具箱是在 Java 反射的基礎(chǔ)之上進(jìn)行的一層封裝,為上層使用方提供更加靈活、方便的 API 接口,同時(shí)緩存 Java 的原生反射相關(guān)的元數(shù)據(jù),提升了反射代碼執(zhí)行的效率,優(yōu)化了反射操作的性能。

2.4 Binding 模塊

通過(guò) SqlSession 獲取 Mapper 接口的代理,然后通過(guò)這個(gè)代理執(zhí)行關(guān)聯(lián) Mapper.xml 文件中的數(shù)據(jù)庫(kù)操作。通過(guò)這種方式,可以將一些錯(cuò)誤提前到編譯期,該功能就是通過(guò) Binding 模塊完成的。

2.5 數(shù)據(jù)源模塊

持久層框架核心組件之一就是數(shù)據(jù)源,MyBatis 自身提供了一套不錯(cuò)的數(shù)據(jù)源實(shí)現(xiàn),也是 MyBatis 的默認(rèn)實(shí)現(xiàn)。MyBatis 的數(shù)據(jù)源模塊中也提供了與第三方數(shù)據(jù)源集成的相關(guān)接口,這也為用戶提供了更多的選擇空間,提升了數(shù)據(jù)源切換的靈活性。

2.6緩存模塊

數(shù)據(jù)庫(kù)是實(shí)踐生成中非常核心的存儲(chǔ),數(shù)據(jù)庫(kù)性能的優(yōu)劣直接影響了上層業(yè)務(wù)系統(tǒng)的優(yōu)劣。
很多線上業(yè)務(wù)都是讀多寫(xiě)少的場(chǎng)景,在數(shù)據(jù)庫(kù)遇到瓶頸時(shí),緩存是最有效、最常用的手段之一(如下圖所示),正確使用緩存可以將一部分?jǐn)?shù)據(jù)庫(kù)請(qǐng)求攔截在緩存這一層,這就能夠減少一部分?jǐn)?shù)據(jù)庫(kù)的壓力,提高系統(tǒng)性能。
在這里插入圖片描述

MyBatis 就提供了一級(jí)緩存和二級(jí)緩存,具體實(shí)現(xiàn)位于基礎(chǔ)支撐層的緩存模塊中。

2.7 解析器模塊

mybatis-config.xml 配置文件和 Mapper.xml 配置文件的解析。

2.8 事務(wù)管理模塊

持久層框架一般都會(huì)提供一套事務(wù)管理機(jī)制實(shí)現(xiàn)數(shù)據(jù)庫(kù)的事務(wù)控制,MyBatis 對(duì)數(shù)據(jù)庫(kù)中的事務(wù)進(jìn)行了一層簡(jiǎn)單的抽象,提供了簡(jiǎn)單易用的事務(wù)接口和實(shí)現(xiàn)。一般情況下,Java 項(xiàng)目都會(huì)集成 Spring,并由 Spring 框架管理事務(wù)。

3. 核心處理層

核心處理層是 MyBatis 核心實(shí)現(xiàn)所在,其中涉及 MyBatis 的初始化以及執(zhí)行一條 SQL 語(yǔ)句的全流程。

3.1 配置解析

MyBatis 有三處可以添加配置信息的地方,分別是:mybatis-config.xml 配置文件、Mapper.xml 配置文件以及 Mapper 接口中的注解信息。在 MyBatis 初始化過(guò)程中,會(huì)加載這些配置信息,并將解析之后得到的配置對(duì)象保存到 Configuration 對(duì)象中。

3.2 SQL 解析與 scripting 模塊

MyBatis 的最大亮點(diǎn)應(yīng)該要數(shù)其動(dòng)態(tài) SQL 功能了,只需要通過(guò) MyBatis 提供的標(biāo)簽即可根據(jù)實(shí)際的運(yùn)行條件動(dòng)態(tài)生成實(shí)際執(zhí)行的 SQL 語(yǔ)句。MyBatis 提供的動(dòng)態(tài) SQL 標(biāo)簽非常豐富,包括 <where> 標(biāo)簽、<if> 標(biāo)簽、<foreach> 標(biāo)簽、<set> 標(biāo)簽等。

MyBatis 中的 scripting 模塊就是負(fù)責(zé)動(dòng)態(tài)生成 SQL 的核心模塊。它會(huì)根據(jù)運(yùn)行時(shí)用戶傳入的實(shí)參,解析動(dòng)態(tài) SQL 中的標(biāo)簽,并形成 SQL 模板,然后處理 SQL 模板中的占位符,用運(yùn)行時(shí)的實(shí)參填充占位符,得到數(shù)據(jù)庫(kù)真正可執(zhí)行的 SQL 語(yǔ)句。

3.3 SQL 執(zhí)行

要執(zhí)行一條 SQL 語(yǔ)句,會(huì)涉及非常多的組件,比較核心的有:Executor、StatementHandler、ParameterHandler 和 ResultSetHandler。

其中,Executor 會(huì)調(diào)用事務(wù)管理模塊實(shí)現(xiàn)事務(wù)的相關(guān)控制,同時(shí)會(huì)通過(guò)緩存模塊管理一級(jí)緩存和二級(jí)緩存。SQL 語(yǔ)句的真正執(zhí)行將會(huì)由 StatementHandler 實(shí)現(xiàn)。StatementHandler 會(huì)先依賴 ParameterHandler 進(jìn)行 SQL 模板的實(shí)參綁定,然后由 java.sql.Statement 對(duì)象將 SQL 語(yǔ)句以及綁定好的實(shí)參傳到數(shù)據(jù)庫(kù)執(zhí)行,從數(shù)據(jù)庫(kù)中拿到 ResultSet,最后,由 ResultSetHandler 將 ResultSet 映射成 Java 對(duì)象返回給調(diào)用方,這就是 SQL 執(zhí)行模塊的核心。

在這里插入圖片描述

3.4 插件

很多成熟的開(kāi)源框架,都會(huì)以各種方式提供擴(kuò)展能力。當(dāng)框架原生能力不能滿足某些場(chǎng)景的時(shí)候,就可以針對(duì)這些場(chǎng)景實(shí)現(xiàn)一些插件來(lái)滿足需求,這樣的框架才能有足夠的生命力。這也是 MyBatis 插件接口存在的意義。

4. 接口層

接口層是 MyBatis 暴露給調(diào)用的接口集合,這些接口都是使用 MyBatis 時(shí)最常用的一些接口,例如,SqlSession 接口、SqlSessionFactory 接口等。其中,最核心的是 SqlSession 接口,你可以通過(guò)它實(shí)現(xiàn)很多功能,例如,獲取 Mapper 代理、執(zhí)行 SQL 語(yǔ)句、控制事務(wù)開(kāi)關(guān)等。

http://www.risenshineclean.com/news/11702.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)流程圖滿十八歲可以申請(qǐng)abc認(rèn)證嗎
  • 上市公司網(wǎng)站建設(shè)報(bào)價(jià)seo排名優(yōu)化
  • 網(wǎng)站建設(shè)圖片競(jìng)價(jià)
  • 西安高端網(wǎng)站建設(shè)公司seo案例分析100例
  • 純靜態(tài)網(wǎng)站制作seo整站優(yōu)化報(bào)價(jià)
  • 一個(gè)網(wǎng)站的后臺(tái)怎么做太原網(wǎng)站建設(shè)
  • 百度怎樣做網(wǎng)站并宣傳網(wǎng)站長(zhǎng)春網(wǎng)站建設(shè)公司哪家好
  • 鄭州婦科醫(yī)院正規(guī)有哪些廣州seo營(yíng)銷培訓(xùn)
  • 煤礦黨風(fēng)廉政建設(shè)網(wǎng)站如何注冊(cè)域名
  • 淘客做的領(lǐng)券網(wǎng)站黑帽seo優(yōu)化推廣
  • 為什么用wp做網(wǎng)站沈陽(yáng)網(wǎng)站制作優(yōu)化推廣
  • 對(duì)視頻播放網(wǎng)站做性能測(cè)試查排名的軟件有哪些
  • c2c電子商務(wù)網(wǎng)站策劃深圳市龍華區(qū)
  • 做的好看的網(wǎng)站免費(fèi)網(wǎng)站優(yōu)化排名
  • 做網(wǎng)站便宜新聞源
  • wordpress隱藏服務(wù)器ip網(wǎng)站seo優(yōu)化分析
  • 廣州市做民宿什么網(wǎng)站比較好seo搜論壇
  • 什么網(wǎng)站可以免費(fèi)做找客戶谷歌seo快速排名優(yōu)化方法
  • vs做網(wǎng)站教程長(zhǎng)春網(wǎng)站關(guān)鍵詞排名
  • 東莞模板建站軟件seo專員
  • 視頻網(wǎng)站如何建設(shè)專業(yè)代寫(xiě)軟文
  • 武漢招聘一般用什么網(wǎng)站沙洋縣seo優(yōu)化排名價(jià)格
  • 對(duì)酒店網(wǎng)站建設(shè)的意見(jiàn)互聯(lián)網(wǎng)廣告行業(yè)
  • 喀什做網(wǎng)站seo快速排名源碼
  • wordpress 菜單 標(biāo)簽科學(xué)新概念seo外鏈平臺(tái)
  • 照片做視頻ppt模板下載網(wǎng)站知識(shí)營(yíng)銷成功案例介紹
  • 淡水做網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)主題參考
  • word做招聘網(wǎng)站長(zhǎng)尾詞挖掘
  • 電影日記網(wǎng)站怎么做界首網(wǎng)站優(yōu)化公司
  • 有免費(fèi)的網(wǎng)址嗎南寧seo專員