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,如需转载请自行联系原作者
相关文章
|
XML Java 数据库连接
解决在mybatis中出现的org.apache.ibatis.exceptions.PersistenceException~
解决在mybatis中出现的org.apache.ibatis.exceptions.PersistenceException~
1081 0
|
SQL 安全 Java
JDBC Apache—DBUtils 详解(通俗易懂)
JDBC 第六节 ApacheDBUtils详解!
365 0
|
Java 数据库连接 mybatis
MyBatis注解开发报错org.apache.ibatis.builder.IncompleteElementException-解决方案
MyBatis注解开发报错org.apache.ibatis.builder.IncompleteElementException-解决方案
183 0
|
数据库 数据安全/隐私保护
|
SQL Java 数据库连接
day14_DBUtils学习笔记
一、DBUtils介绍 Apache公司开发的框架。 什么是dbutils?它的作用?   DBUtils是java编程中的数据库操作实用工具,小巧简单实用。   DBUtils封装了对JDBC的操作,简化了JDBC操作。
2132 0
|
SQL Java 关系型数据库
|
SQL Java 关系型数据库
|
SQL Java 数据库连接
|
Java 数据库连接 容器