`
IvanLi
  • 浏览: 602736 次
  • 性别: 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访问代码,并且提供了与JdbcTemplate一致的异常处理方式。这种整合不仅提高了开发效率,还增强了代码的健壮性和可维护性。 #### 二、Spring提供的IBatis辅助类 ...

    iBATIS_Spring_struts_demo.rar_DEMO_Struct spring ibatis_ibatis j

    而iBATIS则作为数据访问层,负责执行SQL查询和更新,通过Spring的JdbcTemplate或SqlSessionTemplate进行调用。 Struts在其中的作用是处理用户请求,转发到相应的Action,Action再通过Spring的依赖注入获取到由...

    通向架构师的道路(第二十天)万能框架spring(二)maven结合spring与ibatis.docx

    文章首先回顾了之前的Struts结合Spring并使用Spring的JdbcTemplate来搭建工程框架的经历,然后介绍了使用Maven来管理jar库的方法。接着,文章详细讲述了如何使用iBatis3结合Spring来构建SSI框架,包括建立工程、增加...

    Struts1+Spring+iBatis-jar包

    这个"Struts1+Spring+iBatis-jar包"集合了这三个框架的核心组件,为开发者提供了一个快速搭建企业级应用的基础。 Struts1是Apache软件基金会开发的一个开源MVC框架,它主要处理HTTP请求并控制应用程序的流程。...

    Spring iBatis Learning Notes

    本文档旨在展示如何在数据库层面上使用iBatis与Spring进行整合。数据库编程通常涉及数据库连接、连接池、SQL语句、输入输出以及事务处理等内容。Java JDBC作为低级别的API,在实际应用中存在诸多不便之处,因此业界...

    struts+iBATIS+spring整合例子

    Struts、iBATIS和Spring是Java开发中常用的三大框架,它们各自负责不同的职责,而将它们整合在一起,可以构建出高效、灵活的企业级应用程序。本文将深入探讨这三者的核心概念、整合过程以及实际应用。 **Struts** ...

    ibatis+spring

    ibatis抛出的异常通常是SQL执行时的异常,而Spring可以提供统一的异常处理机制,将这些低级别的异常转换为Spring的DataAccessException,从而简化异常处理的代码。 #### 4. DAO层支持 Spring提供了JdbcDaoSupport...

    struts2+ibatis+spring整合开发

    对于数据库操作,可以选择使用Spring的JdbcTemplate或集成iBatis,通过Spring的SqlSessionTemplate进行数据访问。 4. **Struts2与Spring集成**:通过Spring插件struts2-spring-plugin,实现Struts2 Action类的依赖...

    struts+spring+ibatis

    Struts提供了MVC(Model-View-Controller)架构模式,Spring 提供了全面的依赖注入(DI)和面向切面编程(AOP)功能,而iBatis则是一个轻量级的持久层框架,它简化了数据库操作。 **Struts框架**: Struts是Apache...

    struts+spring+ibatis整合框架小demo

    6. DAO接口和实现类:与数据库交互的代码,可能使用了Spring的JdbcTemplate或iBatis的SqlSessionTemplate。 通过这个小demo,开发者可以学习到如何在实际项目中配置和使用Struts、Spring和iBatis,理解它们之间的...

    spring+ibatis 多表

    在IT行业中,Spring和iBatis是两个非常重要的框架,它们在开发企业级Java应用时起着关键作用。本项目结合了这两个框架,用于处理多表关联查询,并且还涉及到了jQuery库,用于前端交互。这里我们将深入探讨这些技术...

    spring+ibatis所需jar包

    Spring通过其DataSourceTransactionManager可以管理iBATIS的事务,而Spring的JdbcTemplate或MyBatis-Spring库可以帮助无缝集成这两者,使得业务逻辑代码更加简洁。 在压缩包中列出的"Spring所需jar"可能包括了...

    Spring和ibatis Ext整合完整实例

    Spring 和 iBATIS Ext 是两种在 Java 开发中广泛使用的框架。Spring 是一个全面的后端应用程序框架,提供了依赖注入、面向切面编程、事务管理等功能。iBATIS(现在称为 MyBatis)则是一个持久层框架,它简化了 SQL ...

    Spring+iBatis配置[归类].pdf

    这些类使得开发者能够轻松地在Spring应用中使用iBatis,同时支持iBatis的1.3.x和2.0版本。Spring还引入了与JdbcTemplate类似的异常处理方式,以保证一致的错误处理体验。 2. **JavaBean实体和映射** 示例中的`...

    Spring+iBatis配置[文].pdf

    Spring为iBatis提供了与`JdbcTemplate`类似的异常处理方式,这意味着当出现数据库操作异常时,可以统一捕获和处理,提高了代码的可维护性和可读性。 5. **事务管理**: Spring通过AOP(面向切面编程)来管理事务...

    Spring与ibatis

    当 Spring 与 iBATIS 结合使用时,通常采用 Spring 的 DataSourceTransactionManager 和 JdbcTemplate 或者 MyBatis(iBATIS 的后续项目)来实现数据访问。Spring 负责事务管理和对象的生命周期管理,而 iBATIS 则...

    Spring and iBATIS

    本文旨在介绍如何在Spring框架中集成使用iBATIS数据库层。数据库编程涉及到数据库连接、连接池管理、SQL语句执行、输入输出处理以及事务管理等多个方面。Java的JDBC API尽管功能强大,但在实际应用中显得较为底层且...

    spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置

    iBatis的SQL映射文件可以使用注解简化,同时由Spring的JdbcTemplate或MyBatis-Spring插件处理数据访问;DWR的Java端接口也可以由Spring管理,使得前端与后端的交互更加便捷。 综上所述,"spring2.5 ibatis2.3 ...

    struts+spring+ibatis整合示例 demo

    在Struts+Spring+iBatis整合中,通常会使用Spring的JdbcTemplate或MyBatis(iBatis的升级版)来执行SQL。 **整合过程**: 1. **配置Spring**:首先需要配置Spring的ApplicationContext,定义Bean的定义,包括Struts...

    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(控制反转)...

Global site tag (gtag.js) - Google Analytics