MyBatis框架:第一章:簡介
mybatis概述
1.1、mybatis簡介
1.MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優(yōu)秀的持久層框架。
2.MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。
3.MyBatis可以使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJO(Plain Old Java Objects,普通的Java對象)映射成數(shù)據(jù)庫中的記錄.
4.簡單對比以前的代碼就是,將以前要寫的sql語句統(tǒng)一寫到xml文件中,不用我們寫dao層的實(shí)現(xiàn)類了,方便我們查找sql,也不用我們寫JDBC的代碼,只要配置好就可以用。
1.2、mybatis歷史
原是apache的一個(gè)開源項(xiàng)目iBatis, 2010年6月這個(gè)項(xiàng)目由apache software
foundation 遷移到了google code,隨著開發(fā)團(tuán)隊(duì)轉(zhuǎn)投Google Code旗下,ibatis3.x正式更名為Mybatis
,代碼于2013年11月遷移到Github(下載地址見后)。iBATIS一詞來源于“internet”和“abatis”的組合,是一個(gè)基于Java的持久層框架。iBATIS提供的持久層框架包括SQL
Maps和Data Access Objects(DAO)
1.3、為什么要使用mybatis。
1.MyBatis是一個(gè)半自動(dòng)化的持久化層框架。
jdbc編程—當(dāng)我們使用jdbc持久化的時(shí)候,sql語句被硬編碼到j(luò)ava代碼中。這樣耦合度太高。代碼不易于維護(hù)。在實(shí)際項(xiàng)目開發(fā)中會經(jīng)常添加sql或者修改sql,這樣我們就只能到j(luò)ava代碼中去修改。
2.Hibernate和JPA
長難復(fù)雜SQL,對于Hibernate而言處理也不容易
內(nèi)部自動(dòng)生產(chǎn)的SQL,不容易做特殊優(yōu)化。
基于全映射的全自動(dòng)框架,javaBean存在大量字段時(shí)無法只映射部分字段。導(dǎo)致數(shù)據(jù)庫性能下降。
3.對開發(fā)人員而言,核心sql還是需要自己優(yōu)化
sql和java編碼分開,功能邊界清晰,一個(gè)專注業(yè)務(wù)、一個(gè)專注數(shù)據(jù)。
可以使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJO映射成數(shù)據(jù)庫中的記錄。成為業(yè)務(wù)代碼+底層數(shù)據(jù)庫的媒介
可以去mybatis官方中文文檔看看
提前了解MyBatis的四大部分