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