卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

mybatis描述核心配置文件 basemapper實(shí)現(xiàn)原理?

basemapper實(shí)現(xiàn)原理?basmybatis流式查詢(xún)優(yōu)缺點(diǎn)??jī)?yōu)勢(shì)1.簡(jiǎn)單易學(xué)Mybatis本身很小很簡(jiǎn)單。沒(méi)有任何第三方依賴(lài),最簡(jiǎn)單的安裝只需要兩個(gè)jar文件和幾個(gè)SQL映射文件,易學(xué)易用。通過(guò)

basemapper實(shí)現(xiàn)原理?

bas

mybatis流式查詢(xún)優(yōu)缺點(diǎn)?

優(yōu)勢(shì)

1.簡(jiǎn)單易學(xué)

Mybatis本身很小很簡(jiǎn)單。沒(méi)有任何第三方依賴(lài),最簡(jiǎn)單的安裝只需要兩個(gè)jar文件和幾個(gè)SQL映射文件,易學(xué)易用。通過(guò)文檔和源代碼,我們可以充分掌握其設(shè)計(jì)思想和實(shí)現(xiàn)。

2.靈活性

Mybatis不會(huì)對(duì)應(yīng)用程序或數(shù)據(jù)庫(kù)的現(xiàn)有設(shè)計(jì)產(chǎn)生任何影響。SQL用XML編寫(xiě),便于統(tǒng)一管理和優(yōu)化。通過(guò)SQL,我們基本上可以實(shí)現(xiàn)所有不用數(shù)據(jù)訪問(wèn)框架就能實(shí)現(xiàn)的功能,也許更多。

3.從程序代碼中分離SQL

通過(guò)提供DAL層,將業(yè)務(wù)邏輯和數(shù)據(jù)訪問(wèn)邏輯分離,使得系統(tǒng)設(shè)計(jì)更加清晰,更易于維護(hù),更易于單元測(cè)試。SQL和代碼的分離提高了可維護(hù)性。

4.提供映射標(biāo)簽,支持對(duì)象和數(shù)據(jù)庫(kù)之間ORM字段關(guān)系的映射。

5.提供對(duì)象關(guān)系映射標(biāo)簽來(lái)支持對(duì)象關(guān)系的建立和維護(hù)。

6.提供XML標(biāo)簽,支持動(dòng)態(tài)SQL的編寫(xiě)。

劣勢(shì)

1.寫(xiě)SQL語(yǔ)句的時(shí)候工作量很大,尤其是有很多字段和關(guān)聯(lián)表的時(shí)候。

2.SQL語(yǔ)句依賴(lài)于數(shù)據(jù)庫(kù),導(dǎo)致數(shù)據(jù)庫(kù)的可移植性差,所以數(shù)據(jù)庫(kù)無(wú)法被替換。

3.框架還是比較簡(jiǎn)單,功能還是缺失的。雖然簡(jiǎn)化了數(shù)據(jù)綁定代碼,但是整個(gè)底層數(shù)據(jù)庫(kù)查詢(xún)實(shí)際上都是自己寫(xiě)的,工作量比較大,不容易適應(yīng)快速的數(shù)據(jù)庫(kù)修改。

4.二級(jí)緩存機(jī)制不好。

mybatis工作原理及流程?

1)讀取mybatis配置文件:mybatis-config.xml是MyBatis的全局配置文件,配置了MyBatis的運(yùn)行環(huán)境等信息,比如數(shù)據(jù)庫(kù)連接信息。

2)加載映射文件。映射文件是SQL映射文件,其中配置了操作數(shù)據(jù)庫(kù)的SQL語(yǔ)句,需要加載到MyBatis配置文件mybatis-config.xml中mybatis-config.xml文件可以加載多個(gè)映射文件,每個(gè)文件對(duì)應(yīng)數(shù)據(jù)庫(kù)中的一個(gè)表。

3)構(gòu)建會(huì)話工廠:通過(guò)MyBatis 等配置信息構(gòu)建會(huì)話工廠SqlSessionFactory。;環(huán)境。

4)創(chuàng)建會(huì)話對(duì)象:通過(guò)會(huì)話工廠創(chuàng)建SqlSession對(duì)象,該對(duì)象包含執(zhí)行SQL語(yǔ)句的所有方法。

5)Executor executor: MyBatis定義了一個(gè)Executor接口來(lái)操作數(shù)據(jù)庫(kù),它會(huì)根據(jù)SqlSession傳遞的參數(shù)動(dòng)態(tài)生成要執(zhí)行的SQL語(yǔ)句,同時(shí)還負(fù)責(zé)維護(hù)查詢(xún)緩存。

6)MappedStatement對(duì)象:在Executor接口的執(zhí)行方法中有一個(gè)MappedStatement類(lèi)型的參數(shù),封裝了映射信息,用于存儲(chǔ)要映射的SQL語(yǔ)句的id、參數(shù)等信息。

7)輸入?yún)?shù)映射:輸入?yún)?shù)類(lèi)型可以是map、List等集合類(lèi)型,也可以是基本數(shù)據(jù)類(lèi)型和POJO類(lèi)型。輸入?yún)?shù)映射過(guò)程類(lèi)似于JDBC ;為preparedStatement對(duì)象設(shè)置參數(shù)的過(guò)程。

8)輸出結(jié)果映射:輸出結(jié)果類(lèi)型可以是map、List等集合類(lèi)型,也可以是基本數(shù)據(jù)類(lèi)型和POJO類(lèi)型。輸出結(jié)果的映射過(guò)程類(lèi)似于JDBC ;結(jié)果集的解析過(guò)程。