77范文网 - 专业文章范例文档资料分享平台

ibatis

来源:网络收集 时间:2020-06-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

IBATIS Developer?s Guide Version 1.0

September 2, 2004 So many open source projects. Why not Open your Documents?

ibatis 开发指南

相对 Hibernate和Apache OJB等“一站式”ORM解决方案而言,ibatis 是一种“半 自动化”的ORM实现。

所谓“半自动” ,可能理解上有点生涩。纵观目前主流的 ORM,无论 Hibernate 还是 Apache OJB,都对数据库结构提供了较为完整的封装,提供了从 POJO 到数据库表的全 套映射机制。 程序员往往只需定义好了POJO 到数据库表的映射关系, 即可通过 Hibernate 或者 OJB 提供的方法完成持久层操作。程序员甚至不需要对 SQL 的熟练掌握,

Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的 SQL 并调用 JDBC 接口加以执 行。

大多数情况下(特别是对新项目,新系统的开发而言) ,这样的机制无往不利,大有一 统天下的势头。但是,在一些特定的环境下,这种一站式的解决方案却未必灵光。 在笔者的系统咨询工作过程中,常常遇到以下情况:

1. 系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几 条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。

2. 开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由 存储过程实现(就笔者工作所面向的金融行业而言,工商银行、中国银行、交 通银行,都在开发规范中严格指定)

3. 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高 度优化的SQL语句(或存储过程)才能达到系统性能设计指标。

面对这样的需求,再次举起 Hibernate 大刀,却发现刀锋不再锐利,甚至无法使用,

奈何?恍惚之际, 只好再摸出 JDBC 准备拼死一搏??,说得未免有些凄凉, 直接使用 JDBC

进行数据库操作实际上也是不错的选择,只是拖沓的数据库访问代码,乏味的字段读取操作 令人厌烦。

“半自动化”的ibatis,却刚好解决了这个问题。

这里的 “半自动化” ,是相对Hibernate等提供了全面的数据库封装机制的 “全自动化” ORM 实现而言, “全自动”ORM 实现了 POJO 和数据库表之间的映射,以及 SQL 的自动

生成和执行。 而ibatis 的着力点, 则在于POJO 与 SQL之间的映射关系。也就是说,ibatis 并不会为程序员在运行期自动生成 SQL 执行。具体的 SQL 需要程序员编写,然后通过映 射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定 POJO。

使用 ibatis 提供的ORM机制,对业务逻辑实现人员而言, 面对的是纯粹的 Java对象, 这一层与通过 Hibernate 实现 ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的 SQL 语句。相对Hibernate等

“全自动”ORM机制而言,ibatis 以 SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。作为“全自动”ORM实现的一种有益补充,ibatis 的出现显 得别具意义。 IBATIS Developer’s Guide Version 1.0

September 2, 2004 So many open source projects. Why not Open your Documents?

OpenDoc Series?

iBATIS 2.0 开发指南 V1.0

作者:夏昕 xiaxin(at)gmail.com

So many open source projects. Why not Open your Documents? J IBATIS Developer?s Guide Version 1.0

September 2, 2004 So many open source projects. Why not Open your Documents?

文档说明

参与人员: 作者 联络

夏昕 xiaxin(at)gmail.com

(at) 为 email @ 符号 发布记录

版本 日期 作者 说明 0.0 2004.8.1 夏昕 第一版

1.0 2004.9.1 夏昕 补充ibatis in Spring部分

OpenDoc版权说明

本文档版权归原作者所有。

在免费、且无任何附加条件的前提下,可在网络媒体中自由传播。

如需部分或者全文引用,请事先征求作者意见。

如果本文对您有些许帮助,表达谢意的最好方式,是将您发现的问题和文档改进意见及时反馈给

作者。当然,倘若有时间和能力,能为技术群体无偿贡献自己的所学为最好的回馈。

另外,笔者近来试图就日本、印度的软件开发模式进行一些调研。如果诸位可以赠阅日本、印度

软件研发过程中的需求、设计文档以供研究,感激不尽! IBATIS Developer?s Guide Version 1.0

September 2, 2004 So many open source projects. Why not Open your Documents?

ibatis 开发指南

ibatis Quick Start............................................................................................5 准备工作..........................................................................................................5 构建 ibatis基础代码....................................................................................5 ibatis配置........................................................................................................... 11 ibatis基础语义......................................................................................................16 XmlSqlMapClientBuilder...................................................................16 SqlMapClient ...........................................................................................16 SqlMapClient基本操作示例..........................................................16

OR映射...........................................................................................................19 ibatis高级特性......................................................................................................26 数据关联........................................................................................................26 一对多关联............................................................................................26 一对一关联............................................................................................28 延迟加载........................................................................................................30 动态映射........................................................................................................31 事务管理........................................................................................................35 基于 JDBC的事务管理机制................................................................35 基于 JTA的事务管理机制...................................................................36 外部事务管理.........................................................................................38 Cache..............................................................................................................39 MEMORY类型 Cache与 WeakReference ........................................40 LRU型 Cache .......................................................................................42 FIFO型 Cache ......................................................................................43 OSCache.................................................................................................43

IBATIS Developer?s Guide Version 1.0

September 2, 2004 So many open source projects. Why not Open your Documents?

ibatis Quick Start 准备工作

1. 下载ibatis软件包(http://www.ibatis.com) 。

2. 创建测试数据库,并在数据库中创建一个 t_user 表,其中包含三个字段: ? id(int)

? name(varchar) ? sex(int)。

3. 为了在开发过程更加直观, 我们需要将 ibatis日志打开以便观察 ibatis运作的细节。 ibatis 采用 Apache common_logging,并结合 Apache log4j 作为日志输出组件。在 CLASSPATH 中新建log4j.properties配置文件,内容如下: log4j.rootLogger=DEBUG, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n

log4j.logger.java.sql.PreparedStatement=DEBUG

构建 ibatis 基础代码 ibatis 基础代码包括: 1. ibatis 实例配置

一个典型的配置文件如下(具体配置项目的含义见后) :

PUBLIC \ \

cacheModelsEnabled=\ enhancementEnabled=\ lazyLoadingEnabled=\ errorTracingEnabled=\ maxRequests=\ maxSessions=\ maxTransactions=\ useStatementNamespaces=\ />

September 2, 2004 So many open source projects. Why not Open your Documents?

value=\

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库ibatis在线全文阅读。

ibatis.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1098186.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: