資源描述:
《Mybatis介紹講解學(xué)習(xí).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、MyBATIS介紹大綱第一部分:MyBATIS介紹第二部分:基礎(chǔ)知識(shí)點(diǎn)第三部分:開(kāi)發(fā)中的應(yīng)用一、什么是MyBATIS介紹MyBATIS的前身是iBATISiBATIS是ClintonBegin開(kāi)發(fā),現(xiàn)在由APACHE基金會(huì)支持的用于加快JDBC編程的經(jīng)過(guò)泛化的框架,是一個(gè)持久化框架。相對(duì)于hibernate和apacheojb等“一站式”orm解決方案而言,ibatis是一種“半自動(dòng)化”的orm實(shí)現(xiàn)。一、什么是iBATIS基本要素sqlmaps:是整個(gè)ibatisdatabaselayer的核心價(jià)值所在。通過(guò)使用sqlmaps你可以顯著的節(jié)約數(shù)據(jù)庫(kù)操作的代碼
2、量。sqlmaps使用一個(gè)簡(jiǎn)單的xml文件來(lái)實(shí)現(xiàn)從javabean到sqlstatements的映射。跟其他的框架或者對(duì)象映射工具相比,sqlmaps最大的優(yōu)勢(shì)是簡(jiǎn)單。二、與傳統(tǒng)的JDBC比較比較減少了61%的代碼量最簡(jiǎn)單的持久化框架架構(gòu)級(jí)性能增強(qiáng)SQL代碼從程序代碼中徹底分離,可重用增強(qiáng)了項(xiàng)目中的分工增強(qiáng)了移植性三、與Hibernate框架比較Hibernate映射關(guān)系三、與Hibernate框架比較MyBATIS映射關(guān)系三、與Hibernate框架比較實(shí)際開(kāi)發(fā)比較1、iBATIS需要手寫(xiě)sql語(yǔ)句,也可以生成一部分,Hibernate則基本上可以自動(dòng)生成
3、,偶爾會(huì)寫(xiě)一些Hql。同樣的需求,iBATIS的工作量比Hibernate要大很多。類(lèi)似的,如果涉及到數(shù)據(jù)庫(kù)字段的修改,Hibernate修改的地方很少,而iBATIS要把那些sqlmapping的地方一一修改。三、與Hibernate框架比較實(shí)際開(kāi)發(fā)比較2、iBatis可以進(jìn)行細(xì)粒度的優(yōu)化(1)更新一個(gè)表的某個(gè)字段:UPDATETABLE_ASETcolumn_1=#column_1#WHEREid=#id#(2)列出一個(gè)表的部分內(nèi)容SELECTID,NAMEFROMTABLE_TABLENAMEWHERE..三、與Hibernate框架比較實(shí)際開(kāi)發(fā)比較3
4、、可維護(hù)性方面,iBatis更好一些。因?yàn)閕Batis的sql都保存到單獨(dú)的文件中。而Hibernate在有些情況下可能會(huì)在java代碼中保sql/hql。四、工作流程四、工作流程1)接收一個(gè)對(duì)象參數(shù)2)執(zhí)行這個(gè)映射的statement3)返回第二部分:基礎(chǔ)知識(shí)點(diǎn)一、認(rèn)識(shí)sqlMapClient二、SqlmapConfig.xml三、Sqlmap.xml一、認(rèn)識(shí)sqlMapClient簡(jiǎn)述它是iBatis中的重要接口,這個(gè)接口涉及到對(duì)SQL映射的執(zhí)行和批處理。一、認(rèn)識(shí)sqlMapClientAPI【1】ObjectqueryForObject(java.la
5、ng.Stringid);ObjectqueryForObject(java.lang.Stringid,java.lang.ObjectparameterObject);ObjectqueryForObject(java.lang.Stringid,java.lang.ObjectparameterObject,java.lang.ObjectresultObject)一、認(rèn)識(shí)sqlMapClientAPI【2】MapqueryForMap(java.lang.Stringid,java.lang.ObjectparameterObject,java.la
6、ng.StringkeyProp);MapqueryForMap(java.lang.Stringid,java.lang.ObjectparameterObject,java.lang.StringkeyProp,java.lang.StringvalueProp);一、認(rèn)識(shí)sqlMapClientAPI【3】ListqueryForList(java.lang.Stringid);ListqueryForList(java.lang.Stringid,intskip,intmax);ListqueryForList(java.lang.Stringid,
7、java.lang.ObjectparameterObject);ListqueryForList(java.lang.Stringid,java.lang.ObjectparameterObject,intskip,intmax);一、認(rèn)識(shí)sqlMapClientAPI【4】Objectinsert(Stringid,ObjectparameterObject);Objectinsert(Stringid);intupdate(Stringid,ObjectparameterObject);intupdate(Stringid);intdelete(Str
8、ingid,ObjectparameterObjec