=============================================================================================================================
iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。
持久层:
只是一种说法而已,经典的三层架构~~~表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
1、表现层(UIL):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。
而持久层则是对数据访问层(DAL)的一种说法。
iBATIS架构图:(引自百度百科)
与其它持久层比较:
(1)相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现。Hibernate为全自动化的ORM机制。
(2)Hibernate会自动生成SQL 语句,而ibatis 则要求开发者编写具体的 SQL 语句。
ORM:对象-关系映射(Object/Relation Mapping,简称ORM)。对象关系映射(ORM)提供了概念性的、易于理解的模型化数据的方法。
优点:
如我们在处理大数据量的时候,会对SQL进行优化处理,这时我们希望采用Hibernate这种全自动化的ORM机制显然是不可行的。
现状:
iBATIS本是apache的一个开源项目,2010年这个项目由apache software foundation 迁移到了google code,并且改名为mybatis。