MyBatis是一個(gè)基于Java的持久層框架,所謂的持久層框架就是專門用來將數(shù)據(jù)進(jìn)行持久化的框架,也就是說將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中的框架。學(xué)習(xí)并掌握Mybatis,首先就要了解Mybatis的核心組件。下面我們一起來了解一下Mybatis四大核心組件:SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession以及SQL Mapper。
1、SqlSessionFactoryBuilder
作為Mybatis的核心組件之一,它直接翻譯為中文是SQL會(huì)話工廠建造者,也有人管它叫作MyBatis的構(gòu)造器。你也許會(huì)想為什么在不同的地方看到的這個(gè)翻譯會(huì)有所不同?因?yàn)閷τ谖覀儊碚f,詞匯本身雖然來源于英文,但是漢譯詞組來自于中國人,我們在翻譯英文文獻(xiàn)的時(shí)候,都會(huì)帶有個(gè)人在技術(shù)上的理解,所以叫法略有不同屬于正常。這個(gè)時(shí)候不必糾結(jié)于哪一種叫法更合適,或者是更正確,我們知道這個(gè)東西是什么就好了。所以當(dāng)你和其他人在就這個(gè)知識討論出現(xiàn)誤差的時(shí)候,溝通才是最重要的。
言歸正傳,我們先來解釋SQL,它叫作結(jié)構(gòu)化查詢語言,是操作數(shù)據(jù)庫的一種語言。而SqlSessionFactoryBuilder,實(shí)際上是用來創(chuàng)建SqlSessionFactory實(shí)例的,它可以通過配置文檔來創(chuàng)建SqlSessionFactory,所以說它是構(gòu)造器也不為過。
2、SqlSessionFactory
直接翻譯為SQL會(huì)話工廠,它是一個(gè)接口,用于創(chuàng)建SqlSession的實(shí)例。簡單來講,SqlSessionFactory是MyBatis的關(guān)鍵對象,它是個(gè)單個(gè)數(shù)據(jù)庫映射關(guān)系經(jīng)過編譯后的內(nèi)存鏡像。SqlSessionFactoryBuilder可以從XML配置文件或一個(gè)預(yù)先定制的Configuration的實(shí)例構(gòu)建出SqlSessionFactory的實(shí)例。每一個(gè)MyBatis的應(yīng)用程序都以一個(gè)SqlSessionFactory對象的實(shí)例為核心.同時(shí)SqlSessionFactory也是線程安全的,SqlSessionFactory一旦被創(chuàng)建,應(yīng)該在應(yīng)用執(zhí)行期間都存在。
3、SqlSession
SQL會(huì)話,它也是一個(gè)接口,這才是MyBatis最核心的對象,也是最重要的Mybatis核心組件。前面的兩個(gè)組件不過是用來得到它的前提,SQL會(huì)話中包含了30個(gè)方法,包括執(zhí)行SQL語句、提交、回滾事務(wù)以及獲取映射器實(shí)例等。
4、SQL Mapper
SQL映射器,它是MyBatis改名之后新開發(fā)出來的組件,由一個(gè)Java接口和XML文件(或注解)構(gòu)成,如果想要使用SQL映射器,就必須遵循它所提出的一系列規(guī)范,這一點(diǎn)我們將在第四關(guān)中講解。它主要通過調(diào)用Java接口中的方法來執(zhí)行與其捆綁的SQL語句,并返回結(jié)果。
以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對“Java案例課程,Mybatis的核心組件”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。