mapper文件的作用?
我們知道,在每個(gè)框架產(chǎn)品的實(shí)際開發(fā)中,框架的相關(guān)流程都是通過XML文件來訓(xùn)練的,MyBatis也不例外。主要有兩個(gè)配置文件:config.xml和Mapp
使用mybatis時(shí)必須配置的是?
要使用mybatis,您必須配置mybatis-config.xml
讀取數(shù)據(jù)庫(kù)配置文件;
配置日志;
配置別名;
連接數(shù)據(jù)庫(kù)
映射接口實(shí)現(xiàn)類配置文件,包括類和資源。
mybatis怎么實(shí)現(xiàn)多表聯(lián)查?
可以通過關(guān)系映射來查詢。請(qǐng)看下文。在mybatis中,沒有級(jí)聯(lián)的概念,但是可以使用集合來實(shí)現(xiàn)類似的功能。
Mybatis3.0增加了關(guān)聯(lián)和集合的標(biāo)簽,用于多個(gè)相關(guān)實(shí)體類數(shù)據(jù)的級(jí)聯(lián)查詢,但仍然不支持多個(gè)相關(guān)實(shí)體類數(shù)據(jù)的級(jí)聯(lián)保存。
mybatis在mvc架構(gòu)屬于哪個(gè)層?
1.API接口層:提供給外部使用的接口API,開發(fā)者可以通過這些本地API操縱數(shù)據(jù)庫(kù)。接口層收到調(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)求完成一個(gè)數(shù)據(jù)庫(kù)操作。
3.基本支持層:負(fù)責(zé)最基本的功能支持,包括連接管理、事務(wù)管理、配置加載和緩存處理。這些都是常見的東西,提取出來作為最基本的成分。為上層數(shù)據(jù)處理層提供最基本的支持。
mybatis逆向工程優(yōu)缺點(diǎn)?
優(yōu)點(diǎn):很好學(xué):它小而簡(jiǎn)單。沒有任何第三方依賴,最簡(jiǎn)單的安裝只需要兩個(gè)jar文件和幾個(gè)sql映射文件,易學(xué)易用。通過文檔和源代碼,我們可以充分掌握其設(shè)計(jì)思想和實(shí)現(xiàn)。靈活性:mybatis不會(huì)對(duì)應(yīng)用程序或數(shù)據(jù)庫(kù)的現(xiàn)有設(shè)計(jì)產(chǎn)生任何影響。Sql用xml編寫,便于統(tǒng)一管理和優(yōu)化。通過sql,我們基本上可以實(shí)現(xiàn)所有不用數(shù)據(jù)訪問框架就能實(shí)現(xiàn)的功能,也許更多。將sql與程序代碼解耦:通過提供DAL層,將業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯分離,使得系統(tǒng)設(shè)計(jì)更加清晰,更易于維護(hù),更易于單元測(cè)試。sql和代碼的分離提高了可維護(hù)性。提供映射標(biāo)簽以支持對(duì)象和數(shù)據(jù)庫(kù)之間orm字段的映射。提供對(duì)象關(guān)系映射標(biāo)簽,支持對(duì)象關(guān)系建立和維護(hù),提供xml標(biāo)簽,支持動(dòng)態(tài)編寫。sql.
缺點(diǎn):寫SQL語(yǔ)句工作量很大,尤其是有很多字段和關(guān)聯(lián)表的時(shí)候。SQL語(yǔ)句依賴于數(shù)據(jù)庫(kù),導(dǎo)致數(shù)據(jù)庫(kù)可移植性差,數(shù)據(jù)庫(kù)不可替換。框架還是比較簡(jiǎn)單,功能還是缺失的。雖然簡(jiǎn)化了數(shù)據(jù)綁定代碼,但是整個(gè)底層數(shù)據(jù)庫(kù)查詢實(shí)際上都是自己寫的,工作量比較大,不容易適應(yīng)快速的數(shù)據(jù)庫(kù)修改。
二級(jí)緩存機(jī)制不好。