iBatis2学习笔记:总结与思考

iBatis2是Hibarnate和其他持久化框架的一个补充,iBatis提供非常灵活的映射策略,在执行效率上接近JDBC。在配置上也非常的灵活,可以实现Hibernate类似的关联关系。iBatis使用好了也会有很好的代码复用效果。这关键在于开发者的水平了。
 
iBatis不能直接支持多级关联,如果需要实现,则必须通过写非常复杂的SQL去实现,但是这有些得不偿失,不但难以实现而且难以理解和维护。这是iBatis不容易做到的。双向多对多可谓iBatis最复杂的关联关系了。
 
iBatis的配置文件也有不爽的地方,那就是对配置元素的顺序有比较严格限制,当顺序错误的时候,则应用不能工作。
 
iBatis在和Spring整合的中,如果sqlmap配置文件有错误,哪怕一个标点符号的错误,则整个应用不让启动,这是让人难以接受的。
 
iBatis中,在任何的SQL语句中,都不要去写分号,否则出现问题你就等着傻眼吧,在SQL里出现分号不会提示错误,应用启动正常,但运行就挂了,没啥有用的提示信息。因此这点要千万记好了。
 
iBatis中,由于SQL是写在xml配置中的,如果当SQL总出现大于小于(> 、<)的比较,或者其他特殊字符,则会破坏xml配置文件的结构,这时候应该使用<![CDATA[ 和 ]]>将sql串括起来。
 
iBatis的sqlmap配置文件可以分布在多个文件和包中,但是在任何一个里都可以引用其他的语句和映射类型。当然,有众多表的情况下,将所有的sqlmap映射定义到一个表中是不明智的,为了统一,常常一个表对应一个实体一个sqlmap文件。
 
iBatis和hibernate有很多相似的地方,也可以配置缓存和数据源连接池,这些配置都时候和实际的压力测试结合而定的。
 
iBatis在使用上比hibernate麻烦,如果一个开发人员,同时熟悉这两种技术,首先应该选择hibernate,而不是ibatis。
 
iBatis更偏向数据的建模,Hibernate更偏向对象建模,Hibernate开发一般是从实体类开始,然后结合xdoclet导出sql脚本和hbm.xml配置文件。但iBatis开发是先从数据库建立起实体对象和其间的关联,然后写配置文件。相比之下,Hibernate更符合面向对象的设计思想。
 
iBatis是Hibernate的补充和益友,而非竞争者,一个项目中这两种技术完全可以同时存在,没有什么不可以的。
 
最后再重复一点,只有掌握了iBatis众多的开发技巧,你的开发才有效率和质量的保障。


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/83909,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值