`
IvanLi
  • 浏览: 599401 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

为什么使用ibatis而不用spring jdbcTemplate

阅读更多
第一:ibatis仅仅是对jdbc薄薄的一层封装,完全不丧失sql的灵活性
第二:ibatis所有的sql都可以放在配置文件中,这样有利于sql的集中管理,特别是在sql tuning是很容易把得到所有的sql,如果使用spring jdbctemplate,那么难免要在sql adv上调试好了sql,然后在粘贴到java代码中,会有一大堆的StringObj+=和 StringBufferObj.append() ,如果sql 很长,那么总是copy , paste 也很烦,ibatis没有这样的问题。
第三:ibatis可以把查出的结果集自动mapping成po,不用写一行代码,只需配置一下ResultMap参数即可,而jdbcTemplate大多数情况都要手动的mapping或者实现MappingSqlQuery,ResultSetExtractor等,无论如何都要编程,这些都是体力活,如果使用了ibatis,这些体力活完全可以省去。
第四:ibatis内置cache机制,同时还可以和osCache集成,cache的也是可以配置的,如果配置得当可以大大提高程序性能。
第五:ibatis支持动态sql,不需要在java里有那么多if, else,完全配置
分享到:
评论
22 楼 黑色幽默_cool 2019-06-26  
这种不负责任的文章,多看一分钟都是浪费。
21 楼 lingate 2007-02-09  
喜欢,针对性强。
20 楼 ahuaxuan 2007-02-08  
我自己的选择是,如果是中小型项目,我会用hibernate,大型项目ibatis首选,但是我实在想不出直接用jdbc的理由
19 楼 LargeBean 2007-02-08  
分页:
别人做好了通用的框架,细节我们自己搞就好了。。。。
俺要学习下IBATIS1+1
18 楼 oboaix 2006-11-30  
理解认同一部分...
17 楼 ponderlw 2006-11-30  
对于遗留系统,IBATIS的优势还是有的。
有个场景,由于效率优化,将操作表与历史记录表分离
前者是后者的部分状态数据映射。
IBATIS中的修改,针对各自操作修改SQL MAPING XML就OK了。
16 楼 lszone 2006-11-29  
以前我们用的hibernate,现在也换成ibatis了
15 楼 pdw2009 2006-11-23  
DbUtils和ibatis思路非常想似,只不过一个是可配置一个需要程序里编写相应的脚本吧了
14 楼 edusaj 2006-10-27  
一般ibatis分页不用自身的分页功能,需要自己利用数据库的特性去写,比如:mysql的limit,oracle的rumnum,mssql的top,db2的rownumber等,但是在AS400上面的db2是不支持rownumber这个分页的。
13 楼 bluelover 2006-10-23  

Ivan Li 写道


其实配合DbUtils也可以的,挺方便的,jdbc+Dbutils+dbcp,价格便宜量又足,想当年我一直用它……


支持开源,俺就把dbutil用了,非常的不错
纯粹的jdbc,灵活实用
12 楼 小贾 2006-10-23  
我觉得分页还是使用与框架或者技术相对独立的方式比较好一些;这样不就可以一劳永逸了嘛!向自定义标签等等。
11 楼 jacshan 2006-10-22  
用jdbcTemplate分页不好实现
10 楼 baizhan 2006-10-18  
呵呵..理由充分...IBATIS值得学习一下..
9 楼 IvanLi 2006-09-21  
Ivan Li 写道
刑天战士 写道
Ivan Li 写道

第三:ibatis可以把查出的结果集自动mapping成po,不用写一行代码,只需配置一下ResultMap参数即可,而jdbcTemplate大多数情况都要手动的mapping或者实现MappingSqlQuery,ResultSetExtractor等,无论如何都要编程,这些都是体力活,如果使用了ibatis,这些体力活完全可以省去。



其实配合DbUtils也可以的,挺方便的,jdbc+Dbutils+dbcp,价格便宜量又足,想当年我一直用它……


DbUtils如何做,请赐教!共同进步

看了DbUtils,觉得他和spring jdbcTemplate思路相似,但是感觉还是jdbctemplate更方便,如果让我在spring jdbcTemplate和DbUtils里选一个,我选spring jdbcTemplate
8 楼 IvanLi 2006-09-21  
galaxystar 写道
ibatis可以传入参数,靠sql来分页!mysql,oracle都支持!
不支持的数据库,加一个自增的ID,(非一般主键ID)!
如果有在用物理删除的话,我暂时没想到,不过M,O2个数据库我想已经足够了!

能否share一个例子?
7 楼 galaxystar 2006-09-21  
ibatis可以传入参数,靠sql来分页!mysql,oracle都支持!
不支持的数据库,加一个自增的ID,(非一般主键ID)!
如果有在用物理删除的话,我暂时没想到,不过M,O2个数据库我想已经足够了!
6 楼 IvanLi 2006-09-21  
simbasun 写道
正在准备从Hibernate转向iBatis。
不过ibatis好像对分页查询作的不是很好,不知道有没有best practice.


http://www.iteye.com/topic/22079
这里有一点讨论,希望对你有帮助,ibatis的分页不是物理分页,最好自己写
5 楼 IvanLi 2006-09-21  
刑天战士 写道
Ivan Li 写道

第三:ibatis可以把查出的结果集自动mapping成po,不用写一行代码,只需配置一下ResultMap参数即可,而jdbcTemplate大多数情况都要手动的mapping或者实现MappingSqlQuery,ResultSetExtractor等,无论如何都要编程,这些都是体力活,如果使用了ibatis,这些体力活完全可以省去。



其实配合DbUtils也可以的,挺方便的,jdbc+Dbutils+dbcp,价格便宜量又足,想当年我一直用它……


DbUtils如何做,请赐教!共同进步
4 楼 刑天战士 2006-09-21  
Ivan Li 写道

第三:ibatis可以把查出的结果集自动mapping成po,不用写一行代码,只需配置一下ResultMap参数即可,而jdbcTemplate大多数情况都要手动的mapping或者实现MappingSqlQuery,ResultSetExtractor等,无论如何都要编程,这些都是体力活,如果使用了ibatis,这些体力活完全可以省去。



其实配合DbUtils也可以的,挺方便的,jdbc+Dbutils+dbcp,价格便宜量又足,想当年我一直用它……
3 楼 simbasun 2006-09-21  
正在准备从Hibernate转向iBatis。
不过ibatis好像对分页查询作的不是很好,不知道有没有best practice.

相关推荐

    Spring对IBatis的整合

    使用Spring提供的IBatis辅助类,可以大大简化原有的IBatis访问代码。这些辅助类位于org.springframework.orm.ibatis包下,目前Spring可同时支持IBatis1.3.x和2.0。 此外,针对IBatis,Spring也提供了和JdbcTemplate...

    Spring中文帮助文档

    2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. IoC(控制反转)...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    Spring 2.0 开发参考手册

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    spring in action英文版

     1.1 为什么使用Spring  1.1.1 J2EE开发者的一天  1.1.2 Spring的承诺  1.2 Spring是什么  1.3 开始Spring之旅  1.4 理解反向控制  1.4.1 依赖注入  1.4.2 IoC应用  1.4.3 企业级应用中的...

    spring chm文档

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    Spring API

    2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. IoC(控制反转)...

    spring applicationContext 配置文件

    xmlns=... <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"><ref bean="dataSourceProxy"/> </beans>

    simplejee-面向j2ee初学者的开源项目

    * 包括jsp,servlet,html,javascript,css等,以及springmvc+jdbcTemplate和 struts2+hibernate+spring, struts2+ibatis+spring 实现的登陆,CRUD,jfreechart图表显示等例子,用来演示两个mvc框架的基本使用,...

    java 通用数据访问层dal

    java dal 封装的通用dao 数据访问层,如果你不喜欢用Hibernate、Mybaits这类ORM框架,喜欢Spring JdbcTemplate或DbUtils,那么可以试试这个封装的通用dal

    Hitis-src-1.0.jar

    (3)在ibatis中,也须90%的情况下,你用的是其强大的“动态组装sql”,而Hitis只取其这一项强大的功能,完全没有什么操作database的代码 (4)在Hitis中,你可以与spring无缝集成,借助于JdbcTemplate,你可以快速封装...

    Hitis V1.2.2

    (3)在ibatis中,也须90%的情况下,你用的是其强大的“动态组装sql”,而Hitis只取其这一项强大的功能,完全没有什么操作database的代码 (4)在Hitis中,你可以与spring无缝集成,借助于JdbcTemplate,你可以快速封装...

    Hitis V1.1

    (3)在ibatis中,也须90%的情况下,你用的是其强大的“动态组装sql”,而Hitis只取其这一项强大的功能,完全没有什么操作database的代码 (4)在Hitis中,你可以与spring无缝集成,借助于JdbcTemplate,你可以快速封装...

    Hitis V1.2.1

    (3)在ibatis中,也须90%的情况下,你用的是其强大的“动态组装sql”,而Hitis只取其这一项强大的功能,完全没有什么操作database的代码 (4)在Hitis中,你可以与spring无缝集成,借助于JdbcTemplate,你可以快速封装...

    Hitis V1.1.1

    (3)在ibatis中,也须90%的情况下,你用的是其强大的“动态组装sql”,而Hitis只取其这一项强大的功能,完全没有什么操作database的代码 (4)在Hitis中,你可以与spring无缝集成,借助于JdbcTemplate,你可以快速封装...

    Hitis V1.2

    (3)在ibatis中,也须90%的情况下,你用的是其强大的“动态组装sql”,而Hitis只取其这一项强大的功能,完全没有什么操作database的代码 (4)在Hitis中,你可以与spring无缝集成,借助于JdbcTemplate,你可以快速封装...

    DBKING使用指南

     这类工具已经很多了,比如大家耳熟能详的Hibernate、iBatis,包括Apache的DBUtils、Spring的JdbcTemplate。为什么我们还要推出db-unifier这样一个功能类似的东西呢?  这些工具的主要目的都是对JDBC进行包装...

    JdbcTemplateTool.zip

    Spring 出品的 JdbcTemplate 对于不想使用hibernate或者ibatis那样需要大量学习成本而且还想获得对象化的人来说是很好用的。但是 JdbcTemplate还是有很多不足之处或者说是缺点。比如你没法像hibernate那样直接传一个...

    java的轻量级orm工具包jdao.zip

    在jdao底层,目前有spring的jdbcTemplate实现与我自己封装的jdaoHandlerImpl实现。jdao有支持事务,支持批量插入数据等特性。同时jdao底层数据库操作提供接口,编程人员可以自己实现。 如果你觉得hibernate,ibatis...

Global site tag (gtag.js) - Google Analytics