`

ibatis的源码心得

阅读更多

IBatis的优点:

IBatis对sql进行了封装和外部化,使sql从我们的应用程序代码中分离出来,IBatis允许以其最自然的方式书写,我们不必写字符串拼接,参数设置,结果获取.

用iBATIS,我觉得它最大的特点就是简单.我们主要在xml配置文件中改动,只要有些sql基础就能用很好的用它了.所以我稍微看了IBatis源码.学到了满多东西.BATIS它对多线程访问,事务,都进行了封装.


 看了IBatis源码.可以了解到IBatis先是动态的获得一个资源文件.然后得到类加载器.

然后对xml中的文件进行解析.刚开始对xml中每个节点设置一个匿名类.将xml所有的属性解析到对象里.

可以看出来.每一个类做不同职责.这里用上了职责链模式.


ibatis和DButils间主要是:线程,事务管理,缓存
和DButils相比IBatis在数据的安全性上.很好的用上了ThreadLocal,和事务,它解决了线程并发的问题.

它有单独的事务管理器.可得到事务的当前状态.
JDBC事务.默认的事务.jdbc都是自动提交的.
IBatis一定要把自动提交取消掉.在对数据库操作是通过一个代理类进行承上启下的作用,
然后再检查参数.最后才执行sql语句.这每一个类嵌套一个类.耦合度相当的高.

最后就是执行sql语句了,IBatis其实还可以在xml中配置缓存.所以源码在执行sql语句之前,它先判断是否有缓存cache.如果已经放在sessionScore里面,则调用缓存中的数据.

 

 

 

在源码理解上整理的不很好.在ibatis和hibernate间,别人如果说hibernate怎么强大,

可是我还是喜欢ibatis多点.(ibatis的骨灰级粉丝).

 

因为我崇拜ibatis,所以对hibernate有些偏见吧,还是说说它俩在我心中的区别.

 

ibatis和hibernate的区别:

 

hibernate虽然说是全自动化.能快速开发.因为sql语句全部自动生成,

而ibatis则要自己写sql语句,可是当业务多的时候,自己写sql语句能灵活运用,

便于优化,性能高.则这些hibernate都比较难实现.

 

 

 

分享到:
评论
2 楼 TeddyWang 2010-09-30  
怎么说呢,如果DB复杂起来,还是利用ibatis或者直接利用spring的jdbctemple比较方便,便于快速开发。
1 楼 starlight_王亦 2010-09-11  
唉,,自己坐做沙发....

相关推荐

    ibatis源码,ibatis源码 ibatis源码 ibatis源码

    《深入解析iBatis源码》 iBatis,一个优秀的Java持久层框架,以其轻量级、灵活的特性在众多ORM(Object-Relational Mapping)框架中独树一帜。iBatis的核心在于它的SQL映射机制,它将数据库操作与业务逻辑解耦,...

    ibatis源码

    描述中的"ibatis框架源码剖析书中附带的光盘,ibatis源码分析"暗示这可能是一个学习资源,用于深入理解iBATIS的工作原理,可能包括了对源码的详细解读和分析。 **iBATIS核心知识点** 1. **SQL映射**:iBATIS的核心...

    最新ibatis 源码

    ibatis源码 学习参考 对于学习ibatis很有帮助

    iBATIS框架源码剖析

    iBATIS框架源码剖析

    ibatis源码+api文档+jar包

    本资源包含了Ibatis的源码、API文档以及jar包,对于深入理解和使用Ibatis非常有帮助。 首先,让我们详细了解Ibatis的核心概念和功能: 1. SQL Map配置文件:Ibatis的核心是SQL Map配置文件,其中包含了SQL语句和...

    iBATIS框架源码剖析源码

    通过深入分析iBATIS的源码,开发者不仅可以了解其工作原理,还能学习到设计模式、数据库访问的最佳实践以及如何优雅地处理数据库操作。对于提升Java开发者的技能和理解数据库访问层的实现有极大的帮助。在实际开发中...

    iBatis框架源码剖析

    iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。于2010年6月16号被谷歌托管,改名为MyBatis。是一个基于SQL映射支持Java和·NET的持久层框架。

    ibatis框架源码剖析光盘资料

    《ibatis框架源码剖析》是一本深入探讨mybatis前身——ibatis的源码解析书籍。通过对源码的深入分析,我们可以理解ibatis的核心机制,掌握数据库操作的底层原理,从而更好地利用和优化这个强大的持久层框架。在这个...

    ibatis源码及实例

    iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data ...

    springMVC+ibatis的源码

    通过学习和分析这个源码,开发者不仅可以深入了解SpringMVC和iBatis的协同工作原理,还可以掌握如何在Eclipse这样的IDE中配置和运行这样的项目。这有助于提升对MVC模式的理解,提高数据库操作的能力,以及熟练运用...

    iBatis源码jar包以后上传

    这个“iBatis源码jar包以后上传”可能指的是将要分享或者提供iBatis的源码jar包,以便于开发者深入学习和理解其内部工作原理。 首先,让我们来了解一下iBatis的基本概念和工作流程。iBatis的核心是SQL Map配置文件...

    ibatis源码 例子

    ibatis 源码 例子 包含 源码,jar都有 部分代码 package com.icss.dao; import java.io.IOException; import java.io.Reader; import java.sql.SQLException; import java.util.List; import ...

    iBATIS2.3.4 jar包及源码

    在本主题中,我们关注的是iBATIS 2.3.4版本的jar包及其源码。 首先,`ibatis-2.3.4.jar` 是包含iBATIS核心库的二进制文件,用于在Java应用中集成iBATIS。这个jar包包含了所有必要的类和资源,如SQL映射接口、数据...

    ibatis2.3源码

    【标题】"ibatis2.3源码"指的是开源的SQL映射框架iBATIS的2.3版本的源代码。iBATIS是Java平台上的一种轻量级持久层框架,它将SQL语句与Java代码分离,使得开发者可以更加灵活地处理数据库操作。 【描述】中的"可以...

    IBatis源码+xsd+帮助

    本资源包含IBatis的源码、XML Schema Definition(xsd)文件以及相关的帮助文档,为开发者深入理解并使用IBatis提供了全面的支持。 一、**IBatis源码分析** IBatis的源码是开源的,这对于开发者来说是一份宝贵的...

    ibatis 2.3.4 源码

    ibatis 2.3.4 的源码 public abstract Object insert(String paramString, Object paramObject) throws SQLException; public abstract Object insert(String paramString) throws SQLException; public ...

    ibatis 学习源码

    PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" ...

Global site tag (gtag.js) - Google Analytics