Mybatis详细介绍

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1PresentationTitleMyBATIS介绍2PresentationTitle大纲第一部分:MyBATIS介绍第二部分:基础知识点第三部分:开发中的应用3PresentationTitle第一部分:MyBATIS介绍一、什么是MyBATIS二、与传统的JDBC比较三、与Hibernate框架比较四、工作流程4PresentationTitle一、什么是MyBATIS介绍–MyBATIS的前身是iBATIS–iBATIS是ClintonBegin开发,现在由APACHE基金会支持的用于加快JDBC编程的经过泛化的框架,是一个持久化框架。–相对于hibernate和apacheojb等“一站式”orm解决方案而言,ibatis是一种“半自动化”的orm实现。5PresentationTitle一、什么是iBATIS基本要素–sqlmaps:是整个ibatisdatabaselayer的核心价值所在。通过使用sqlmaps你可以显著的节约数据库操作的代码量。sqlmaps使用一个简单的xml文件来实现从javabean到sqlstatements的映射。跟其他的框架或者对象映射工具相比,sqlmaps最大的优势是简单。6PresentationTitle二、与传统的JDBC比较比较–减少了61%的代码量–最简单的持久化框架–架构级性能增强–SQL代码从程序代码中彻底分离,可重用–增强了项目中的分工–增强了移植性7PresentationTitle三、与Hibernate框架比较Hibernate映射关系8PresentationTitle三、与Hibernate框架比较MyBATIS映射关系9PresentationTitle三、与Hibernate框架比较实际开发比较–1、iBATIS需要手写sql语句,也可以生成一部分,Hibernate则基本上可以自动生成,偶尔会写一些Hql。同样的需求,iBATIS的工作量比Hibernate要大很多。类似的,如果涉及到数据库字段的修改,Hibernate修改的地方很少,而iBATIS要把那些sqlmapping的地方一一修改。10PresentationTitle三、与Hibernate框架比较实际开发比较–2、iBatis可以进行细粒度的优化(1)更新一个表的某个字段:UPDATETABLE_ASETcolumn_1=#column_1#WHEREid=#id#(2)列出一个表的部分内容SELECTID,NAMEFROMTABLE_TABLENAMEWHERE..11PresentationTitle三、与Hibernate框架比较实际开发比较–3、可维护性方面,iBatis更好一些。因为iBatis的sql都保存到单独的文件中。而Hibernate在有些情况下可能会在java代码中保sql/hql。12PresentationTitle四、工作流程13PresentationTitle四、工作流程1)接收一个对象参数2)执行这个映射的statement3)返回14PresentationTitle第二部分:基础知识点一、认识sqlMapClient二、SqlmapConfig.xml三、Sqlmap.xml15PresentationTitle一、认识sqlMapClient简述–它是iBatis中的重要接口,这个接口涉及到对SQL映射的执行和批处理。16PresentationTitle一、认识sqlMapClientAPI【1】–ObjectqueryForObject(java.lang.Stringid);–ObjectqueryForObject(java.lang.Stringid,java.lang.ObjectparameterObject);–ObjectqueryForObject(java.lang.Stringid,java.lang.ObjectparameterObject,java.lang.ObjectresultObject)17PresentationTitle一、认识sqlMapClientAPI【2】–MapqueryForMap(java.lang.Stringid,java.lang.ObjectparameterObject,java.lang.StringkeyProp);–MapqueryForMap(java.lang.Stringid,java.lang.ObjectparameterObject,java.lang.StringkeyProp,java.lang.StringvalueProp);18PresentationTitle一、认识sqlMapClientAPI【3】–ListqueryForList(java.lang.Stringid);–ListqueryForList(java.lang.Stringid,intskip,intmax);–ListqueryForList(java.lang.Stringid,java.lang.ObjectparameterObject);–ListqueryForList(java.lang.Stringid,java.lang.ObjectparameterObject,intskip,intmax);19PresentationTitle一、认识sqlMapClientAPI【4】–Objectinsert(Stringid,ObjectparameterObject);–Objectinsert(Stringid);–intupdate(Stringid,ObjectparameterObject);–intupdate(Stringid);–intdelete(Stringid,ObjectparameterObject);–intdelete(Stringid);20PresentationTitle二、sqlmapconfig.xml简述–它是使用iBATIS的起点,负责把所有的SQL映射文件组合在一起。用于配置文件中告诉iBATIS如何连接数据库,以及获取哪些SQL映射文件。21PresentationTitle二、sqlmapconfig.xml项目中的sqlmapconfig.xml22PresentationTitle二、sqlmapconfig.xmlproperties主配置文件之外提供一个名值对列如:propertiesresource=“db.properties”/settings添加各种属性如:延迟加载,使用限定名等。transactionManager用于指定使用什么事物管理器等功能。typeAlias已经内置的类型别名定义typeHandler将数据从数据库特定的数据类型转换为应用程序中的数据类型。sqlMap总标签23PresentationTitle三、sqlmap.xml简述–包含了我们将要运行的SQL语句24PresentationTitle三、sqlmap.xml项目中的sqlmap.xml25PresentationTitle三、sqlmap.xmlselect查询insert插入数据update更新数据库中信息delete删除procedure存储过程statementsqlselect*fromawherename=“aaa”include26PresentationTitle第三部分:开发中的应用一、如何配置iBATIS二、DAO及SqlMap的应用三、对数据库访问的调用27PresentationTitle一、如何配置MyBATIS在Spring配置文件applicationContext.xml中配置myBatis28PresentationTitle一、如何配置MyBATIS项目中MyBatis的配置文件位置29PresentationTitle项目中Model的位置二、SqlMap的应用30PresentationTitle二、SqlMap的应用Mode写法31PresentationTitle二、SqlMap的应用SqlMap在项目中的位置32PresentationTitleSqlMap的写法–Select的写法二、SqlMap的应用33PresentationTitle二、SqlMap的应用SqlMap的写法–Insert写法34PresentationTitleSqlMap的写法–Update写法二、SqlMap的应用35PresentationTitleSqlMap的写法–Delete的写法二、SqlMap的应用36PresentationTitle二、SqlMap的应用SqlMap的写法–Sql的组合37PresentationTitle二、SqlMap的应用要点:–sqlMap中的Namespace要与sqlMapConfig.xml中alias定义名称一致–sqlMapConfig.xml中的type要与对应model所在的类路径一致38PresentationTitle课后作业1.请根据之前的学习做出程序示例:应用MyBatis操作数据库在相应表中添加一条记录39PresentationTitleThanks!

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功