国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

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

鄭州正規(guī)網(wǎng)站設(shè)計(jì)價(jià)格seo門(mén)戶(hù)

鄭州正規(guī)網(wǎng)站設(shè)計(jì)價(jià)格,seo門(mén)戶(hù),行業(yè)網(wǎng)站導(dǎo)航,wordpress模塊管理系統(tǒng)MyBatis的基本概念 MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡(jiǎn)單的 XML 或注解來(lái)配置和映射原生信息,將接口和 Java 的 POJOs(Pla…

MyBatis的基本概念

MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡(jiǎn)單的 XML 或注解來(lái)配置和映射原生信息,將接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄

MyBatis的特點(diǎn)

  • 簡(jiǎn)單易學(xué):本身就很小且簡(jiǎn)單。沒(méi)有任何第三方依賴(lài),最簡(jiǎn)單安裝只要兩個(gè)jar文件+配置幾個(gè)sql映射文件。易于學(xué)習(xí),易于使用。通過(guò)文檔和源代碼,可以比較完全的掌握它的設(shè)計(jì)思路和實(shí)現(xiàn)。
  • 靈活:mybatis不會(huì)對(duì)應(yīng)用程序或者數(shù)據(jù)庫(kù)的現(xiàn)有設(shè)計(jì)強(qiáng)加任何影響。 sql寫(xiě)在xml里,便于統(tǒng)一管理和優(yōu)化。通過(guò)sql語(yǔ)句可以滿(mǎn)足操作數(shù)據(jù)庫(kù)的所有需求。
  • 解除sql與程序代碼的耦合:通過(guò)提供DAO層,將業(yè)務(wù)邏輯和數(shù)據(jù)訪(fǎng)問(wèn)邏輯分離,使系統(tǒng)的設(shè)計(jì)更清晰,更易維護(hù),更易單元測(cè)試。sql和代碼的分離,提高了可維護(hù)性。
  • 提供映射標(biāo)簽,支持對(duì)象與數(shù)據(jù)庫(kù)的ORM字段關(guān)系映射。
  • 提供對(duì)象關(guān)系映射標(biāo)簽,支持對(duì)象關(guān)系組建維護(hù)。
  • 提供xml標(biāo)簽,支持編寫(xiě)動(dòng)態(tài)sql

MyBatis架構(gòu)

我們把MyBatis架構(gòu)分為三層

  1. API接口層的主要作用
    • 定義接口方法:API接口層主要用于定義與數(shù)據(jù)庫(kù)交互的方法。通常,每個(gè)接口方法對(duì)應(yīng)一條SQL語(yǔ)句或一組相關(guān)的SQL語(yǔ)句,用于執(zhí)行查詢(xún)、插入、更新或刪除等數(shù)據(jù)庫(kù)操作
    • 參數(shù)傳遞:API接口層可以定義方法的輸入?yún)?shù),用于傳遞查詢(xún)條件、更新數(shù)據(jù)等操作所需的參數(shù)。MyBatis提供了各種方式來(lái)傳遞參數(shù),包括基本類(lèi)型、對(duì)象、Map等。
    • 結(jié)果映射:API接口層可以定義方法的返回類(lèi)型,用于接收數(shù)據(jù)庫(kù)操作的結(jié)果。MyBatis支持將查詢(xún)結(jié)果映射為Java對(duì)象或集合,并提供了豐富的結(jié)果映射規(guī)則和配置方式。
    • SQL語(yǔ)句映射:API接口層可以通過(guò)注解或XML配置的方式,將SQL語(yǔ)句與接口方法進(jìn)行映射。這樣,在調(diào)用接口方法時(shí),MyBatis會(huì)自動(dòng)執(zhí)行對(duì)應(yīng)的SQL語(yǔ)句,并將結(jié)果返回給調(diào)用方。
    • 事務(wù)支持:API接口層可以通過(guò)注解或XML配置的方式,添加事務(wù)的支持。這樣,在接口方法執(zhí)行期間,可以保證數(shù)據(jù)庫(kù)操作的原子性,保證數(shù)據(jù)的一致性和完整性。
  2. 數(shù)據(jù)處理層的主要作用
    • 定義映射關(guān)系:數(shù)據(jù)處理層使用映射文件或注解來(lái)定義數(shù)據(jù)庫(kù)表與Java實(shí)體對(duì)象的映射關(guān)系。這些映射關(guān)系包括表名、字段名、主鍵、關(guān)聯(lián)關(guān)系等。通過(guò)定義映射關(guān)系,MyBatis可以將查詢(xún)結(jié)果自動(dòng)映射為Java對(duì)象。
    • 編寫(xiě)SQL語(yǔ)句:數(shù)據(jù)處理層使用SQL語(yǔ)句來(lái)執(zhí)行數(shù)據(jù)庫(kù)的增刪改查操作。SQL語(yǔ)句可以使用MyBatis提供的映射文件或注解來(lái)定義,也可以使用動(dòng)態(tài)SQL來(lái)實(shí)現(xiàn)靈活的條件查詢(xún)。SQL語(yǔ)句可以包括普通的SQL語(yǔ)句、參數(shù)占位符、動(dòng)態(tài)條件等。
    • 執(zhí)行數(shù)據(jù)庫(kù)操作:數(shù)據(jù)處理層使用Mapper接口來(lái)執(zhí)行數(shù)據(jù)庫(kù)操作。Mapper接口定義了與數(shù)據(jù)庫(kù)操作相關(guān)的方法,例如插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)、查詢(xún)數(shù)據(jù)等。通過(guò)調(diào)用Mapper接口的方法,可以執(zhí)行對(duì)應(yīng)的SQL語(yǔ)句并返回結(jié)果
    • 事務(wù)管理:數(shù)據(jù)處理層可以通過(guò)注解或配置文件來(lái)管理事務(wù)。在需要保證多個(gè)數(shù)據(jù)庫(kù)操作的原子性時(shí),可以使用事務(wù)管理來(lái)確保數(shù)據(jù)的一致性和完整性。MyBatis提供了多種方式來(lái)配置和管理事務(wù),例如使用注解、使用AOP、使用XML配置等。
  3. 基礎(chǔ)支撐層的主要作用
    • 數(shù)據(jù)源管理:基礎(chǔ)支撐層負(fù)責(zé)管理應(yīng)用程序連接數(shù)據(jù)庫(kù)的數(shù)據(jù)源。它可以配置和管理連接池,提供數(shù)據(jù)庫(kù)連接的分配和釋放,以及數(shù)據(jù)庫(kù)事務(wù)的管理等。
    • SQL語(yǔ)句執(zhí)行:基礎(chǔ)支撐層提供了執(zhí)行SQL語(yǔ)句的能力。它負(fù)責(zé)將SQL語(yǔ)句和參數(shù)傳遞給數(shù)據(jù)庫(kù),并獲取執(zhí)行結(jié)果。它還負(fù)責(zé)處理SQL語(yǔ)句的預(yù)編譯、占位符替換、結(jié)果集的映射等操作。
    • 對(duì)象-關(guān)系映射:基礎(chǔ)支撐層負(fù)責(zé)將數(shù)據(jù)庫(kù)中的記錄映射為Java對(duì)象。它可以根據(jù)配置或注解,自動(dòng)將查詢(xún)結(jié)果集映射為Java對(duì)象,并提供對(duì)象與數(shù)據(jù)庫(kù)記錄之間的轉(zhuǎn)換功能。
    • 緩存管理:基礎(chǔ)支撐層提供了緩存機(jī)制,用于提高數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)性能。它可以緩存查詢(xún)結(jié)果,避免重復(fù)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),提高響應(yīng)速度。MyBatis提供了不同級(jí)別的緩存配置,包括一級(jí)緩存和二級(jí)緩存。
    • 異常處理:基礎(chǔ)支撐層處理數(shù)據(jù)庫(kù)操作過(guò)程中可能出現(xiàn)的各種異常,如數(shù)據(jù)庫(kù)連接異常、SQL語(yǔ)句執(zhí)行異常、事務(wù)回滾等。它負(fù)責(zé)將異常轉(zhuǎn)換為可讀的錯(cuò)誤信息,并提供異常處理機(jī)制。

MyBatis核心組件

  1. SqlSessionFactory:SqlSessionFactory是MyBatis的核心接口之一,它負(fù)責(zé)創(chuàng)建SqlSession對(duì)象。SqlSession是與數(shù)據(jù)庫(kù)交互的主要入口,通過(guò)SqlSessionFactory可以獲取SqlSession實(shí)例,然后進(jìn)行數(shù)據(jù)庫(kù)操作。
  2. SqlSession:SqlSession是MyBatis與數(shù)據(jù)庫(kù)交互的關(guān)鍵組件,它提供了執(zhí)行SQL語(yǔ)句、獲取映射器(Mapper)、管理事務(wù)等功能。通過(guò)SqlSession,可以執(zhí)行數(shù)據(jù)庫(kù)的增刪改查操作,并獲取操作結(jié)果。
  3. SqlSession:SqlSession是MyBatis與數(shù)據(jù)庫(kù)交互的關(guān)鍵組件,它提供了執(zhí)行SQL語(yǔ)句、獲取映射器(Mapper)、管理事務(wù)等功能。通過(guò)SqlSession,可以執(zhí)行數(shù)據(jù)庫(kù)的增刪改查操作,并獲取操作結(jié)果。
  4. 映射器(Mapper):映射器是MyBatis實(shí)現(xiàn)動(dòng)態(tài)代理的核心組件。MyBatis通過(guò)JDK動(dòng)態(tài)代理或CGLIB動(dòng)態(tài)代理,根據(jù)定義的Mapper接口,動(dòng)態(tài)生成代理類(lèi),實(shí)現(xiàn)接口方法的具體邏輯。通過(guò)映射器,可以將Java對(duì)象與數(shù)據(jù)庫(kù)記錄進(jìn)行映射,實(shí)現(xiàn)對(duì)象關(guān)系映射。
  5. Configuration配置對(duì)象:Configuration對(duì)象是MyBatis的配置文件解析和存儲(chǔ)的核心組件。它負(fù)責(zé)解析MyBatis的配置文件,包括數(shù)據(jù)庫(kù)連接信息、映射文件路徑、插件、類(lèi)型處理器等配置信息。MyBatis根據(jù)Configuration對(duì)象的配置,完成MyBatis的初始化和功能擴(kuò)展。
  6. Executor執(zhí)行器:Executor執(zhí)行器是MyBatis執(zhí)行SQL語(yǔ)句的核心組件。它負(fù)責(zé)根據(jù)SQL語(yǔ)句、參數(shù)和映射規(guī)則,將SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù),并獲取結(jié)果。Executor可以分為SimpleExecutor、ReuseExecutor和BatchExecutor等類(lèi)型,用于不同的場(chǎng)景和需求。
http://aloenet.com.cn/news/30346.html

相關(guān)文章:

  • 漳州網(wǎng)站優(yōu)化下載百度導(dǎo)航app
  • 交友網(wǎng)站建設(shè)惠城網(wǎng)站設(shè)計(jì)
  • 任縣企業(yè)做網(wǎng)站怎么推廣淘寶店鋪
  • 織夢(mèng)手機(jī)網(wǎng)站源碼下載可口可樂(lè)軟文范例
  • 淘寶客優(yōu)惠券網(wǎng)站怎么做的google怎么推廣
  • 怎么在網(wǎng)上做公司網(wǎng)站如何創(chuàng)建自己的網(wǎng)址
  • 建設(shè)兵團(tuán)12師教育局網(wǎng)站淘寶一個(gè)關(guān)鍵詞要刷多久
  • wordpress自己寫(xiě)代碼百度自然排名優(yōu)化
  • 煙臺(tái)龍口網(wǎng)站建設(shè)百度收錄最新方法
  • 天津建設(shè)銀行網(wǎng)站深圳百度推廣代理商
  • 保定建設(shè)信息網(wǎng)站百度外推代發(fā)排名
  • 有一個(gè)網(wǎng)站叫浪什么網(wǎng)站優(yōu)化比較好的公司
  • 導(dǎo)購(gòu)網(wǎng)站怎么做有特色友情鏈接頁(yè)面
  • 網(wǎng)站怎么做 吸引人上海做關(guān)鍵詞推廣企業(yè)
  • 如何做網(wǎng)站推廣的方案設(shè)計(jì)企業(yè)推廣哪個(gè)平臺(tái)好
  • web網(wǎng)站開(kāi)發(fā)的設(shè)計(jì)思想公司域名查詢(xún)官網(wǎng)
  • 做企業(yè)網(wǎng)站首頁(yè)尺寸百度關(guān)鍵詞網(wǎng)站排名優(yōu)化軟件
  • 如何在導(dǎo)航網(wǎng)站上做鏈接優(yōu)化近義詞
  • 做網(wǎng)站外包網(wǎng)頁(yè)設(shè)計(jì)與制作代碼
  • 長(zhǎng)沙建站公司模板百度seo快速排名優(yōu)化軟件
  • 福建省華榮建設(shè)集團(tuán)有限公司網(wǎng)站長(zhǎng)春網(wǎng)絡(luò)推廣優(yōu)化
  • 個(gè)人網(wǎng)站logo青島網(wǎng)站制作推廣
  • 免費(fèi)域名查詢(xún)網(wǎng)站推廣app最快的方法
  • 創(chuàng)建一個(gè)網(wǎng)頁(yè)多少錢(qián)sem優(yōu)化托管
  • wordpress ios 默認(rèn)合肥seo網(wǎng)站排名
  • 專(zhuān)注做蔬菜的網(wǎng)站汕頭seo管理
  • 定制網(wǎng)站費(fèi)用南寧seo專(zhuān)員
  • 如何設(shè)計(jì)酒店網(wǎng)站建設(shè)seo建站優(yōu)化推廣
  • 羅湖高端網(wǎng)站設(shè)計(jì)推廣普通話(huà)手抄報(bào)一等獎(jiǎng)
  • 專(zhuān)門(mén)做蛋糕視頻的網(wǎng)站流程優(yōu)化四個(gè)方法