- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ibatis基础教程
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数据库操作实例
1.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
//数据库连接驱动,我这里用的是MySQL数据库
property name=JDBC.Driver
value= com.mysql.jdbc.Driver/
//数据库连接地址,我连接的是test数据库
property name=JDBC.ConnectionURL
value=jdbc:mysql://localhost/test/
//数据库名,默认为root
property name=JDBC.Username value=root/
//数据库的密码,默认为空
property name=JDBC.Password value=/
//其他一些常用的属性,也可以忽略不设置
property name=Pool.MaximumActiveConnections
value=
您可能关注的文档
- 2011年10月重庆拓新·东方新城传播策略探讨.ppt
- 2011年1月常州东方盐湖城项目营销策划报告.ppt
- 2011年1月刊苏绪柒全国地产广告达观(上辑).ppt
- 2011年1月25日长春万科地产【柏翠园】项目2011年度整合营销总案.ppt
- 2011年3月22日马鞍山凤凰湖原生态休闲山庄营销企划推广方案(汇报稿).ppt
- 2011年4月份石家庄恒大华府月度营销方案.ppt
- 2011年4月8日上海浦东星河湾项目二期营销执行方案.ppt
- 2011年5月05日济源市安欣置业源苑购物广场商业步行街销售执行报告.ppt
- 2011年4月-9月成都上河郡整合推广策略暨行动计划.ppt
- 2011年9月20日某房地产公司财务管理制度.doc
最近下载
- 大作业:如何理解“作风建设永远在路上,永远没有休止符”?我们应如何加强作风建设?.docx VIP
- 教师实习心得:教育反思与教师实习心得:有效的教学离不开有效的反思合集.doc VIP
- 《中华人民共和国基本医疗卫生与健康促进法》全文.pdf VIP
- 代数式的值-新浙教版-七上数学.pptx VIP
- 浙教版初中数学八年级上册第二章《特殊三角形》单元测试卷(含答案解析)(困难).docx VIP
- 浙教版初中数学八年级上册第二章《特殊三角形》单元测试卷(含答案解析)(标准困难).docx VIP
- 村两委换届调研报告大全一.doc VIP
- 2024-2030年中国面食行业市场深度分析及前景趋势与投资研究报告.docx
- 《护士条例》落实情况监督检查表.docx VIP
- 中国宠物行业2025年宠物医疗市场发展趋势与挑战分析报告.docx
文档评论(0)