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

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

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

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

MyBatis的基本概念

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

MyBatis的特點(diǎn)

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

MyBatis架構(gòu)

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

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

MyBatis核心組件

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

相關(guān)文章:

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