更新時(shí)間:2020-12-15 15:33:54 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1181次
MyBatis是一款優(yōu)秀的持久層框架,它支持定制化SQL、存儲(chǔ)過程以及高級(jí)映射。MyBatis避免了幾乎所有的JDBC代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis可以使用簡(jiǎn)單的XML或注解來配置和映射原生信息,將接口和Java的POJOs(Plain Ordinary Java Object,普通的Java對(duì)象)映射成數(shù)據(jù)庫中的記錄。
特點(diǎn)
簡(jiǎn)單易學(xué):本身就很小且簡(jiǎn)單。沒有任何第三方依賴,最簡(jiǎn)單安裝只要兩個(gè)jar文件+配置幾個(gè)sql映射文件易于學(xué)習(xí),易于使用,通過文檔和源代碼,可以比較完全的掌握它的設(shè)計(jì)思路和實(shí)現(xiàn)。
靈活:mybatis不會(huì)對(duì)應(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ù),更易單元測(cè)試。sql和代碼的分離,提高了可維護(hù)性。
提供映射標(biāo)簽,支持對(duì)象與數(shù)據(jù)庫的orm字段關(guān)系映射
提供對(duì)象關(guān)系映射標(biāo)簽,支持對(duì)象關(guān)系組建維護(hù)
提供xml標(biāo)簽,支持編寫動(dòng)態(tài)sql。
功能架構(gòu)
我們把Mybatis的功能架構(gòu)分為三層:
(1)API接口層:提供給外部使用的接口API,開發(fā)人員通過這些本地API來操縱數(shù)據(jù)庫。接口層一接收到調(diào)用請(qǐng)求就會(huì)調(diào)用數(shù)據(jù)處理層來完成具體的數(shù)據(jù)處理。
(2)數(shù)據(jù)處理層:負(fù)責(zé)具體的SQL查找、SQL解析、SQL執(zhí)行和執(zhí)行結(jié)果映射處理等。它主要的目的是根據(jù)調(diào)用的請(qǐng)求完成一次數(shù)據(jù)庫操作。
(3)基礎(chǔ)支撐層:負(fù)責(zé)最基礎(chǔ)的功能支撐,包括連接管理、事務(wù)管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎(chǔ)的組件。為上層的數(shù)據(jù)處理層提供最基礎(chǔ)的支撐。
框架架構(gòu)講解:
(1)加載配置:配置來源于兩個(gè)地方,一處是配置文件,一處是Java代碼的注解,將SQL的配置信息加載成為一個(gè)個(gè)MappedStatement對(duì)象(包括了傳入?yún)?shù)映射配置、執(zhí)行的SQL語句、結(jié)果映射配置),存儲(chǔ)在內(nèi)存中。
(2)SQL解析:當(dāng)API接口層接收到調(diào)用請(qǐng)求時(shí),會(huì)接收到傳入SQL的ID和傳入對(duì)象(可以是Map、JavaBean或者基本數(shù)據(jù)類型),Mybatis會(huì)根據(jù)SQL的ID找到對(duì)應(yīng)的MappedStatement,然后根據(jù)傳入?yún)?shù)對(duì)象對(duì)MappedStatement進(jìn)行解析,解析后可以得到最終要執(zhí)行的SQL語句和參數(shù)。
(3)SQL執(zhí)行:將最終得到的SQL和參數(shù)拿到數(shù)據(jù)庫進(jìn)行執(zhí)行,得到操作數(shù)據(jù)庫的結(jié)果。
(4)結(jié)果映射:將操作數(shù)據(jù)庫的結(jié)果按照映射的配置進(jìn)行轉(zhuǎn)換,可以轉(zhuǎn)換成HashMap、JavaBean或者基本數(shù)據(jù)類型,并將最終結(jié)果返回。
動(dòng)力節(jié)點(diǎn)推出的MyBatis3入門教程,如果你所做的項(xiàng)目業(yè)務(wù)比較復(fù)雜,那么在DAO層可以考慮使用MyBatis框架,MyBatis本是apache的一個(gè)開源項(xiàng)目iBATIS,2010年這個(gè)項(xiàng)目由apache software foundation遷移到了google code,并且改名為MyBatis。2013年11月遷移到Github。iBATIS一詞來源于“internet”和“abatis”的組合,是一個(gè)基于Java的持久層框架。該Java教程中將MyBatis和Hibernate框架進(jìn)行了對(duì)比,使用MyBatis框架完成數(shù)據(jù)CRUD操作,剖析MyBatis動(dòng)態(tài)SQL。最終對(duì)SSM三大框架完成集成??戳吮咎譐ava視頻教程肯定受益匪淺,不可多得的視頻教程快來分享吧。
主講老師:動(dòng)力節(jié)點(diǎn)郭老師
講師簡(jiǎn)介
10多年軟件開發(fā)和項(xiàng)目管理經(jīng)驗(yàn),精通Java EE(JSP/Servlet、JDBC、Struts2、Spring、Hibernate、Mybaits),以及 WebService,Ajax,Oracle,DB2,MySQL,NoSql,Redis等技術(shù)。熟練使用Linux操作系統(tǒng)。曾參與多個(gè)項(xiàng)目開發(fā),包括:電視臺(tái)節(jié)目組網(wǎng)站、運(yùn)政管理信息管理系統(tǒng)、交通廳門戶網(wǎng)站等。并曾為中國移動(dòng)、華晨寶馬、虎躍快客等多家大型企業(yè)員工進(jìn)行過企業(yè)內(nèi)內(nèi)訓(xùn)。講課思路清晰,能夠引導(dǎo)學(xué)生去主動(dòng)思考,擅長結(jié)合生活案例和圖解的方式使學(xué)習(xí)變得輕松有趣。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Mybatis視頻下載,入門到精通”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)