博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iBatis2学习笔记:总结与思考
阅读量:6480 次
发布时间:2019-06-23

本文共 1135 字,大约阅读时间需要 3 分钟。

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,如需转载请自行联系原作者
你可能感兴趣的文章
es6 includes(), startsWith(), endsWith()
查看>>
关于azkaban上传job压缩包报错问题的解决方案
查看>>
JS版日期格式化和解析工具类,毫秒级
查看>>
flask-login登录原理
查看>>
百度人脸对比
查看>>
Linux内存管理 一个进程究竟占用多少空间?-VSS/RSS/PSS/USS
查看>>
苹果AppStore如何申请加急审核
查看>>
SpringBoot 使用Swagger2打造在线接口文档(附汉化教程)
查看>>
Mysql一个表编码的坑,mark一下
查看>>
JS动态事件绑定问题
查看>>
在WPF应用程序中利用IEditableObject接口实现可撤销编辑的对象
查看>>
android 8 wifi wifi 扫描过程
查看>>
phalcon的save方法保存失败?
查看>>
获取任意链接文章正文 API 功能简介
查看>>
js中Math.random()生成指定范围数值的随机数
查看>>
线程类的常见方法介绍
查看>>
Spring连接数据库的几种常用的方式
查看>>
MS CRM 2011 Schedule Report & Email Subscription
查看>>
Linux2.6内核驱动移植参考
查看>>
eclipse打开当前文件所在文件夹
查看>>