iBATIS主要包含两类组件:SQL Map组件和DAO组件。
1.iBATIS的DAO组件
iBATIS DAO组件的主要功能室帮助开发人员基于DAO设计模式和开发Java EE应用程序。DAO框架的主要目标是抽象画应用程序的数据访问层和持久层的表示方式和位置,使它远离应用程序的业务逻辑。同时DAO框架允许在应用程序中定义负责数据中心操作的接口,使得DAO可以动态地配置应用程序,从而使用不同的持久性机制和隐藏持久性层的实现细节。例如,如果应用程序通过JDBC来获取持久性,则DAO框架的目标就是抽象Connection、PreparedStatement和ResultSet等类和接口的使用,并下移到持久层;如果应用程序使用get和post来获得和存储数据,则DAO框架的用途是现实抽象化类的使用,使他们远离应用程序的业务逻辑。然后应用程序可以使用DAO接口在数据上执行操作,这样就可以从数据库、web服务或其他任何数据源中获得数据。
实现目的:
- 为二次开发人员实现核心Java ee 设计模式的DAO模式提供一个基础平台
- 抽象出数据访问方式,隐藏了实现细节
- 封装了多种ORM模式,屏蔽了持久层。是的iBATIS DAO支持iBATIS SQL Map、Hibernate、Apache Ojb、Toplink、和JTA
- 由于对数据库的操作都是由DAO代理实现的,这样可以使系统更具有可维护性。
- 当进行多种ORM模型组合时,不用修改代码
- 增强了缓存处理,提高安全性。
2.iBATIS SQL Map组件
是整个iBATIS Database layer的核心所在。SQL Map能够大大减少访问数据库的代码。iBATIS SQL Map使用简单的XML配置文件将JavaBean、XML、Map映射成SQL语句,通过SQL语句的执行而获得Java Bean 、XML、Map、List等对象。