zoukankan      html  css  js  c++  java
  • iBatis框架简介

    一.为啥使用iBatis?

        在 Hibernate、JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择。即使在持久层框架层出不穷的今天,iBatis 凭借着易学易用轻巧灵活等特点,也仍然拥有一席之地。尤其对于擅长 SQL 的开发人员来说,iBatis 对 SQL 和存储过程的直接支持能够让他们在获得 iBatis 封装优势的同时而不丧失 SQL 调优的手段,这是 Hibernate/JPA 所无法比拟的。具体而言,使用 iBatis 框架的主要优势主要体现在如下几个方面:

     首先,iBatis 封装了绝大多数的 JDBC 样板代码,使得开发者只需关注 SQL 本身,而不需要花费精力去处理例如注册驱动,创建 Connection,以及确保关闭 Connection 这样繁杂的代码。

     其次,iBatis 可以算是在所有主流的持久层框架中学习成本最低,最容易上手和掌握的框架。虽说其他持久层框架也号称门槛低,容易上手,但是等到你真正使用时会发现,要想掌握并用好它是一件非常困难的事。在工作中我需要经常参与面试,我曾听到过很多位应聘者描述,他们所在的项目在技术选型时选择 Hibernate,后来发现难以驾驭,不得不将代码用 JDBC 或者 iBatis 改写。

    二.iBatis是什么?    

        iBatis是一个持久层框架,它能够自动在java、.NET和Ruby on Rails中与SQL数据库和对象之间的映射。映射是从应用程序逻辑封装在XML配置文件中的SQL语句脱钩。

        iBatis是一个轻量级的框架和持久性API适合持久化的POJO(普通Java对象)。

        iBatis是被称为一个数据映射和映射需要的类的属性和数据库中的表的列之间的参数和结果。

        iBatis和其他持久化框架,如Hibernate之间的显著区别在于,iBATIS强调使用SQL,而其他的框架通常使用一个自定义的查询语言,具有Hibernate查询语言(HQL)或Enterprise JavaBeans的查询语言(EJB QL)。

    三.iBatis的设计理念:

    iBatis提供了以下的设计理念:

    • 简单: iBATIS的被广泛认为是可用的最简单的持久化框架之一。
    • 快速开发:iBATIS的理念是尽一切可能,以方便超快速开发。
    • 可移植性: iBATIS可用于几乎任何语言或平台,如Java,Ruby和C#,微软.NET实现。
    • 独立的接口:iBATIS提供独立于数据库的接口和API,帮助应用程序的其余部分保持独立的任何持久性相关的资源,
    • 开源:iBATIS是自由和开放源码软件。

    四.iBatis的优点

     下面是使用iBATIS的一些优势:

    • 支持存储过程:iBATIS的SQL封装以存储过程的形式,使业务逻辑保持在数据库之外,应用程序更易于部署和测试,更便于移植。
    • 支持内嵌的SQL:预编译器不是必需的,并有完全访问所有的SQL语句的特性。
    • 支持动态SQL: iBATIS特性提供基于参数动态生成SQL查询。
    • 支持O / RM:iBATIS支持许多相同的功能作为一个O / RM工具,如延迟加载,连接抓取,缓存,运行时代码生成和继承

        

    五.iBatis到MyBatis

         iBatis 自从在 Apache 软件基金会网站上发布至今,和他的明星兄弟们(Http Server,Tomcat,Struts,Maven,Ant 等等)一起接受者万千 Java 开发者的敬仰。在 Apache 寄居六年之后,iBatis 将代码托管到 Google Code。在声明中给出的主要理由是,和 Apache 相比,Google Code 更有利于开发者的协同工作,也更能适应快速发布。于此同时,iBatis 更名为 MyBatis。

        从 iBatis 到 MyBatis,不只是名称上的变化,MyBatis 提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于 JDK 的泛型和注解特性进行了简化。iBatis 确实该退休了,因为一个更为出色的继任者经过 10 个 Beta 版本的蜕变已然出现在我们的面前。

       本文只是简单的对iBatis进行理论式介绍,它的好处还需要我们在应用中得以验证!

  • 相关阅读:
    我要录视频XML(一)
    JavaScript入门基础 (一)
    JQuery 入门24条
    3.The IoC container
    关于jquery.fn
    apche禁止列表显示文件夹中文件,并且显示特定界面
    Struts 2 + Spring 2 + JPA + AJAX
    3.The IoC container(2)
    4.9 Annotationbased container configuration
    3.5 Bean scopes
  • 原文地址:https://www.cnblogs.com/slu182/p/4064985.html
Copyright © 2011-2022 走看看