iBATIS工作原理浅析

一:iBATIS工作原理是什么呢?iBATIS在不同的系统中的角色是什么呢?那么本文将会向你介绍这方面的信息

谈到iBATIS工作原理问题尤其要注意的是,有了iBATIS,你就再不需要直接编写JDBC代码代码了。JDBC的确非常强大,但使用起来总不免觉得太过繁琐。使用JDBCAPI编写代码需要许多额外的工作。尽管如此,每一行代码又都是必不可少的,所以要减少代码量还真不是一件容易的事情。最多也只不过能将其中的一些代码挪到某个实用方法(utilitymethod)中,最明显的就是那些关闭资源(如PreparedStatement和ResultSet)的代码。

iBATIS工作原理其,如果使用iBATISiBATIS在后台也是运行些相同的JDBCiBATIS取数据库连接,SQL句的参数,SQL句,果,并在最后关闭所有的源。然而,你需要自己写的代量却大大地减少了

二、iBATIS工作原理之于小型、简单系统

小型应用通常只涉及一个数据库,只有一些相当简单的用户接口和领域模型。它的业务逻辑层非常简单,有时对一些简单的只涉及增查改删(CRUD:Create, Read, Update, Delete)操作的应用来说甚至根本就不存在业务逻辑。iBATIS之所以非常适合于小型应用,有3个原因。

        第一,iBATIS自己就很小并且简单。它不需要服务器或者其他任何类型的中间件。不需要任何额外的基础设施(infrastructure)。iBATIS也没有任何第三方依赖。iBATIS的最简安装只需要2个JAR文件,总计不过375KB。除了需要配置一下你的SQL映射文件外,iBATIS不需要进行任何安装,因此只需要几分钟时间你就可以拥有一个可工作的持久层了。

        第二,iBATIS不会对现存应用的设计或者数据库结构强加任何影响。因此,如果你有一个小型系统,且已经部分实现或者甚至已经发布了,则你仍然可以重构你的持久层以使用iBATIS,这非常简单。因为iBATIS很简单,所以它根本不会使得应用的架构过分复杂。而如果使用对象/关系映射工具或者代码生成工具,因为它们都事先就对应用以及数据库的设计做了某些假设,因此它们不可能对应用的架构毫无影响。

        最后,只要你有过软件开发的经验,相信你就不会怀疑,任何一个小软件都几乎不可避免地有一天会成长为一个大软件。所有成功的软件都有进一步成长的趋势。这是一件好事,而我们接下来想说的就是,iBATIS同样非常适合于大型系统,它甚至可以扩展以满足企业级应用的需要。

三、iBATIS工作原理之于大型、企业级系统

       iBATIS就是为企业级应用而设计的。最重要的是,iBATIS在这个领域比之其他解决方案有着大量的优点。iBATIS最初的创建者只有从大型应用到企业级应用系统的开发经验。这一类系统通常都涉及不止一个数据库,且所有这些数据库都是不可控的。在第一章中我们讨论了各种类型的数据库,包括企业级数据库、私有数据库和遗留数据库。作者创建iBATIS框架一个很重要的原因就是针对这样的数据库。因此,iBATIS拥有许多使其非常适合于企业应用环境的特点

       第二点,iBATIS的某些特性使得它能够非常高效地处理大型数据集。iBATIS支持的行处理器(rowhandler)使得它能够批处理超大型记录集,一次一条记录。iBATIS也支持只获取某个范围内的结果,这就使得你可以只获取那些你当前亟需的数据。例如,假设你获取了10,000条记录,而你其实只需要其中的第500至600条,那你就可以简单的仅获取这些记录。iBATIS支持驱动提示使得执行这样的操作非常高效。

      最后一点,iBATIS允许你用多种方式建立从对象到数据库的映射关系。一个企业级系统只以一种模式工作的情况是非常少见的。许多企业级系统需要在白天执行事务性的工作,而在晚上执行批处理工作。iBATIS允许你将同一个类以多种方式映射,以保证每一种工作都能以最高效的方式执行。iBATIS同样支持多种数据获取策略。例如,你可以选择对某些数据进行懒加载,也可以将一个复杂的对象图只用一条联合查询SQL语句就同时加载完毕,从而避免严重的性能问题



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值