ibatis入门培训(课堂PPT)_第1页
ibatis入门培训(课堂PPT)_第2页
ibatis入门培训(课堂PPT)_第3页
ibatis入门培训(课堂PPT)_第4页
ibatis入门培训(课堂PPT)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、iBatis入门主讲人:李存善主讲人:李存善-程序员的持久战程序员的持久战2iBatis与与Hibernate的比较的比较2iBatis简介简介1iBatis+Spring+Struts24 实际操作,步骤实际操作,步骤 331.iBATIS1.iBATIS简介简介什么是什么是iBATIS? iBATIS是一种data mapper。一个映射层,在对象和数据库间传递数据,并保持两者与映射层本身相独立 iBATIS则与之不同,它不是直接在类与数据表或字段与列之间进行关联,而是把SQL语句的参数(parameter)和返回结果(result)映射至类。iBATIS是处于类和数据表之间的一个中间层,

2、这使得它在类和数据表之间进行映射时更加灵活,而不需要数据库模型或对象模型(object model)的任何修改。我们所说的中间层实际上就是SQL,它使得iBATIS能够更好地分离数据库和对象模型的设计,这样就相对减少了两者间的耦合 iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。 2022-3-1244MVC三层架构三层架构WebWeb目录为视图层目录为视图层(V)(V)业务逻辑层可以创建业务逻辑层可以创建servivceservivce和和da

3、odao目录目录控制层不明显控制层不明显, ,后面详细说明后面详细说明Com.iobatis.tb.util.Com.iobatis.tb.util.* *下为本工程的实下为本工程的实用工具包用工具包, ,在本工程中主要是存放对数据在本工程中主要是存放对数据库进行连接的类库进行连接的类, ,和连接数据库所需要的和连接数据库所需要的配置文件配置文件Com.ibatis.tb.modelCom.ibatis.tb.model此包下存放的是此包下存放的是POJOPOJO类类( (持久化类持久化类) )这是这是iBATISiBATIS所控制的持所控制的持久化层久化层, ,是在业务逻辑层是基础上细分出是

4、在业务逻辑层是基础上细分出的一层的一层Com.ibatis.tb.mapsCom.ibatis.tb.maps存放的是存放的是iBATISiBATIS的的XMLXML配置文件配置文件2022-3-1255与与Hibernate进行比较进行比较 Hibernate功能强大,数据库无关性好,功能强大,数据库无关性好,O/R映射能力强,整个持久层代码简映射能力强,整个持久层代码简单,需要写的代码很少,开发速度很快单,需要写的代码很少,开发速度很快 ; 但是在怎么设计但是在怎么设计O/R映射,在性能和对象模型之间如何取得平衡映射,在性能和对象模型之间如何取得平衡,数据缓存数据缓存,事事物方面还有待加强

5、物方面还有待加强.而且要求程序员如何更好的使用而且要求程序员如何更好的使用Hibernate,需要很丰富,需要很丰富的经验。的经验。iBATIS入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。相当完美。 虽然简化了数据绑定代码,但是整个底层数据库查询还是要自己写虽然简化了数据绑定代码,但是整个底层数据库查询还是要自己写(如果如果 要把这看成是要把这看成是iBATIS的缺点的话的缺点的话

6、),iBATIS在在SQL 开发的工作量和数据库移开发的工作量和数据库移 植性能上作了让步,提供了更大的自由空间植性能上作了让步,提供了更大的自由空间,相对于相对于Hibernate “全自动全自动” ORM的实现是一种有益的补充的实现是一种有益的补充,我们把我们把iBATIS叫做叫做“半自动化半自动化”的的ORM实现实现 框架。框架。2022-3-1266Hibernate映射关系映射关系2022-3-1277iBATIS映射关系映射关系2022-3-1288IBATIS实例步骤1.建立数据库建立数据库2.创建工程创建工程3.添加添加lib4.编写编写 sqlMapConfig.xml(iB

7、ATIS配置文件配置文件): 该文件负责初始化该文件负责初始化 iBATIS配置配置,包括数据包括数据 库配置和映射文件配置库配置和映射文件配置.5.编写编写 sqlMap.xml(iBATIS映射文件映射文件): 每一个数据库表对应一个映射文件每一个数据库表对应一个映射文件,该文件描述了数据库该文件描述了数据库. 中表的信息,也描述了对应的持久化类的信息中表的信息,也描述了对应的持久化类的信息.6.创建持久化类创建持久化类 每一个类对应一个数据库表每一个类对应一个数据库表,通过映射文件进行关联通过映射文件进行关联.7.面向面向web应用进行编码应用进行编码 (1)编写编写DAO层层:通过通过

8、 iBATIS API编写访问数据库的代码编写访问数据库的代码. (2)编写编写Service层层:编写业务层实现编写业务层实现,调用调用DAO层类代码层类代码.8.测试测试,运行运行2022-3-1299IBATIS开发准备1.准备准备iBATIS配置文件:配置文件: sqlMapConfig.xml (用来设置各种数据库属性用来设置各种数据库属性,可以方便地可以方便地统一配置统一配置DataSource不不 同的实现同的实现)2:准备各种数据库的连接:准备各种数据库的连接jar文件。文件。2022-3-121010XML配置配置1.先为持久化类建立先为持久化类建立XML文件文件 , 如:如

9、:users.xml2.编写重要编写重要XML配置文件配置文件SqlMapConfig.xml2022-3-121111XML配置配置-SqlMapConfig2022-3-121212XML配置配置-SqlMapConfig以下为必写的以下为必写的XML标记标记 (注意注意:和和Spring等框架整合的时候可以将以下配置写到等框架整合的时候可以将以下配置写到spring等框架等框架的配置文件中的配置文件中)2022-3-121313XML配置配置-SqlMapConfig 建议把绿色的标记写上建议把绿色的标记写上.这样就可以动态选择连接的数据库这样就可以动态选择连接的数据库,否则在否则在中的

10、中的value值就要固定值就要固定,不利于维护和修改不利于维护和修改,按上段按上段代码所示可按配置文件动态附值代码所示可按配置文件动态附值下面为配置文件中的内容下面为配置文件中的内容:标签为必填项标签为必填项,次项是引入持久类的次项是引入持久类的XML配置文件配置文件2022-3-121414XML配置配置-SqlMap此为此为sqlMap部分代码部分代码2022-3-121515 查询所有信息查询所有信息测试类测试类2022-3-121616插入信息插入信息测试类测试类2022-3-121717更新用户信息更新用户信息测试类测试类2022-3-121818删除用户信息删除用户信息测试类测试类

11、2022-3-121919iBatis的配置的配置Struts2+Spring+iBatis1: 添加添加ssi的能力的能力(jar文件和相关的配置文件文件和相关的配置文件)2: ibatis的配置的配置 a:在在web项目的项目的src下创建下创建sqlMapConfig.xml 和和sqlMperties文件文件 b:根据数据库表创建实体类和对应的映射文件根据数据库表创建实体类和对应的映射文件如:如: Users.java, Users.xml c:创建创建dao继承继承org.springframework.orm.ibatis.support.SqlMapClientDao

12、Support2022-3-122020spring的配置的配置Struts2+Spring+iBatis3: spring的配置的配置 a: 导入导入sqlMperties文件文件 b: 配置配置DataSource 2022-3-122121spring的配置的配置Struts2+Spring+iBatis c: 创建创建SqlClientMap (sessionFactory) d: 创建创建dao,service,action2022-3-122222struts2的配置的配置Struts2+Spring+iBatis4: struts2的配置的配置 web.xml: struts2核心控制器的配置。(省略) org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:applicationContext.xml struts.xml: 2022-3-122323struts2的配置的配置Struts2+Spring+iBatis5: 编写编写Dao 继承

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论