一中网校方案建议讨论稿.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一中网校方案建议讨论稿

新东网科技 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的出现 而“半自动化”的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 开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。 准备工作 下载ibatis 软件包(/)如下3个包。 ibatis-common.jar ibatis-sqlmap.jar ibatis-dao.jar 创建测试数据库,并在数据库中创建一个t_user 表,其中包含三个字段: ??????? id(number) ??????? name(varchar) ????????sex(char) 为了在开发过程更加直观,我们需要将ibatis 日志打开以便观察ibatis 运作的细节。ibatis 采用Apache common_logging,并结合Apache log4j 作为日志输出组件。在CLASSPATH 中新建perties 配置文件,内容如下: 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基础代码 1.Ibastis配置 ibatis 实例配置是一个典型的XML配置文件,内容如下: Sqlmap配置, SqlMapConfig.xml的内容如下: ?xml version=1.0 encoding=UTF-8 standalone=no? !DOCTYPE sqlMapConfig PUBLIC -//iBATIS.co

文档评论(0)

laolao123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档