- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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所带来的性能开
您可能关注的文档
- 2009,我国航空工业的成人礼?.doc
- 2008高效率考研复习攻略.doc
- 2009山东一本一志愿投档表.doc
- 2009年,中国白酒往那走.doc
- 2009年新年祝福短信集锦.doc
- 2009年高考考前成语专题归类积累材料(二).doc
- 200常识.doc
- 2010年6月英语六级真题—B卷完整答案.doc
- 2010年上海世博会3日自助游全攻略,省钱、省时间!和我一样,来一场和上海的三天恋爱.doc
- 2008年大陆奢侈品城市排行.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)