`

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的内部实现,并可能探讨了如何结合其他工具或框架(如Spring)来更有效地使用Ibatis。 至于文件 "2010-08-08.doc",由于缺乏上下文,无法直接关联到Ibatis...

    ibator使用心得

    这通常需要下载源码,修改后再重新打包成jar文件,替换Eclipse中的原版ibator插件。 总的来说,ibator是一个强大的工具,可以帮助开发者快速构建与数据库交互的Java代码,其灵活性和自定义性使其成为iBATIS框架下的...

    大杂烩很多文档SSH

    标签“源码 工具”表明这些文档可能包含了源代码示例和一些开发工具的使用介绍。 从压缩包子文件的文件名称列表来看,我们可以提炼出以下知识点: 1. **映射类型.bmp** - 这可能是一个关于数据映射概念的图像文件...

    mybatis详细介绍,特点,特性,用途,使用方法,学习方法文档

    MyBatis 是一款优秀的开源持久层框架,它的前身是 iBatis。该框架通过提供一种简单的方式来将 Java 对象映射到 SQL 语句上,从而极大地方便了数据库操作。MyBatis 主要应用于 Java 应用程序中,能够帮助开发者简化对...

    IBatisNet + MySql

    `IBatisNet` 是 `iBATIS` 在 .NET 平台上的实现,它简化了数据访问层(DAL)的开发,允许开发者将 SQL 查询直接映射到.NET 对象,从而避免了使用 ORM 框架时常见的性能问题。 首先,我们需要理解 `IBatisNet` 的...

Global site tag (gtag.js) - Google Analytics