网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ibatis详解 Ibatis详解 相对Hibernate和Apache OJB 等“一站式”ORM解决方案而言,ibatis 是一种“半 自动化”的ORM实现。 以前ORM的框架(hibernate,ojb)的局限: 1. 系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。 2. 开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就笔者工作所面向的金融行业而言,工商银行、中国银行、交通银行,都在开发规范中严格指定) 3. 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。 ibatis 的着力点: 在于POJO 与SQL之间的映射关系。也就是说,ibatis 并不会为程序员在运行期自动生成SQL 执行。具体的SQL 需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。 Ibatis与Hibernate的区别: Hibernate提供了全面的数据库封装机制的“全自动化”ORM 实现而言,“全自动”ORM 实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行,而ibatis 的着力点,则在于POJO 与SQL之间的映射关系。也就是说,ibatis并不会为程序员在运行期自动生成SQL 执行。具体的SQL 需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。 ibatis配置文件: ?xml version=1.0 encoding=UTF-8 ? !DOCTYPE sqlMapConfig PUBLIC -//iBATIS.com//DTD SQL Map Config 2.0//EN /dtd/sql-map-config-2.dtd sqlMapConfig settings ⑴ cacheModelsEnabled=true enhancementEnabled=true lazyLoadingEnabled=true errorTracingEnabled=true maxRequests=32 maxSessions=10 maxTransactions=5 useStatementNamespaces=false / transactionManager type=JDBC ⑵ dataSource type=SIMPLE ⑶ property name=JDBC.Driver value=com.p6spy.engine.spy.P6SpyDriver/ property name=JDBC.ConnectionURL value=jdbc:mysql://localhost/sample/ property name=JDBC.Username value=user/ property name=JDBC.Password value=mypass/ property name=Pool.MaximumActiveConnections value=10/ property name=Pool.MaximumIdleConnections value=5/ property name=Pool.MaximumCheckoutTime value=120000/ property name=Pool.TimeToWait value=500/ property name=Pool.PingQuery value=select 1 from ACCOUNT/ property name=Pool.PingEnabled value=false/ property name=Pool.PingConnectionsOlderThan value=1/ property name=Pool.PingConnectionsNotUsedFor value=1/ /dataSource /transactionManager sqlMap resource=com/ibatis/sample/User.xml/ ⑷ sqlMap resource=com/ibatis/sample/Address.xml/ /sqlMapConfig ⑴Settings 节点 参数 描述 cacheModelsEnabled 是否启用SqlMapClient上的缓存机制。建议设为true enhancementEnabled 是否针对POJO启用字节码增强机制以提升getter/setter的调用效能,避免使用JavaReflect所带来的性能开

文档评论(0)

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

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

1亿VIP精品文档

相关文档