iBATIS是Clinton Begin开发,现在由APACHE基金会支持的用于加快JDBC编程的经过泛化的框架,是一个持久化框架。当前支持JAVA、.NET、RUBY三种语言。
为什么要使用Ibatis?在系统的开发过程中,你可能碰到如下一些问题:1.系统的部分或全部数据都来源于现有数据库,出于安全考虑,客户只给你提供一些selectsql语句(或存储过程)来获取数据,具体的表结构不公开。(金融行业项目常见)2.开发规范过程中要求,所有涉及到业务逻辑部分的数据库表的操作,必顺通过存储过程进行实现
理论上,Web分层设计的各个层都可以有缓存,Web中的任何对象都可以缓存。 Http请求结果的缓存 浏览器缓存、代理缓存、服务器端方向代理缓存、使用Filter实现对请求结果页面的缓存 Java对象的缓存 缓存数据库查询结果对象
Eclipse(MyEclipse)安装ibatis插件Abator及其使用方式安装插件插件一共有2种安装方式.远程安装.
为什么要使用Ibatis?在系统的开发过程中,你可能碰到如下一些问题:1.系统的部分或全部数据都来源于现有数据库,出于安全考虑,客户只给你提供一些selectsql语句(或存储过程)来获取数据,具体的表结构不公开。(金融行业项目常见)2.开发规范过程中要求,所有涉及到业务逻辑部分的数据库表的操作,必顺通过存储过程进行实现3.系统数据处理量巨大,对性能要求非常高请问此时你将选择Hibernate来操作,还是选择JDBC呢?当你选择使用Hibernate,却发现其优点荡然无存!当你选择使用JDBC,却发现拖沓的代码到处存在!什么是Ibatis?半自动化ORM框架相对于Hibernate等“一站式”ORM框架,Ibatis是一种“半自动化”的ORM框架实现。也就是说,ORM概念中,Ibatis只强调O/R部分的内容,而将M(mapping)这部分概念进行了淡化。
SQL Map API让开发人员可以轻易地将Java Bean映射成PreparedStatement的输入参数和ResultSet结果集。 开发SQL Map的想法很简单:提供一个简洁的架构,能够用20%的代码实现80%JDBC的功能。
iBATIS是Clinton Begin开发,现在由APACHE基金会支持的用于加快JDBC编程的经过泛化的框架,是一个持久化框架。相对于hibernate和apacheojb等“一站式”orm解决方案而言,ibatis是一种“半自动化”的orm实现。iBATIS基本要素:sqlmaps:是整个ibatisdatabaselayer的核心价值所在。通过使用sqlmaps你可以显著的节约数据库操作的代码量。sqlmaps使用一个简单的xml文件来实现从javabean到sqlstatements的映射。跟其他的框架或者对象映射工具相比,sqlmaps最大的优势是简单。
相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,ibatis是一种“半自动化”的ORM实现。所谓“半自动”,可能理解上有点生涩。纵观目前主流的ORM,无论Hibernate还是ApacheOJB,都对数据库结构提供了较为完整的封装,提供了从POJO到数据库表的全套映射机制。
Ibatis-with-memchaced使用说明
iBatis是一个O/R Mapping解决方案, iBatis最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能,iBatis是能满足你的要求又足够灵活的最简单的解决方案。下面我们看一个最简单的入门例子,是《ibatis 开发指南》上的例子改的
相对于Hibernate等“一站式”ORM框架,Ibatis是一种“半自动化”的ORM框架实现。也就是说,ORM概念中,Ibatis只强调O/R部分的内容,而将M(mapping)这部分概念进行了淡化。因为它将对于SQL语句的操作权,最终交还给了程序员。上面提到的“半自动化”这个概念可能大家理解起来比较生涩,通过我们对Hibernate或EJB3的了解,可以发现在它们都是针对POJO到数据库提供了一种较为完整的封装。程序只需要对POJO进行操作,就达到操作数据库持久层的目的,我们程序员对SQL语句都不需要太多的了解,因为Hibrenate会根椐POJO的映射关系生成对应的SQL语句,最终调用JDBC完成操作。
iBATIS是以SQL为中心的持久化层框架。能支持懒加载、关联查询、继承等特性。iBATIS不同于一般的OR映射框架。OR映射框架,将数据库表、字段等映射到类、属性,那是一种元数据(meta-data)映射。iBATIS则是将SQL查询的参数和结果集映射到类。<br> 它把SQL语句看成输入以及输出,结果集就是输出,而where后面的条件参数则是输入。iBATIS能将输入的普通POJO对象、Map、XML等映射到SQL的条件参数上,同时也可以将查询结果映射到普通POJO对象(集合)、Map、XML等上面。
什么是对象的持久化<br> ORM的机制和原理<br> 为什么要使用IBatis?<br> SQLMap的原理<br> IBatis对于数据库的操作
iBatis是个像Hibernate, JDO,EJB一类的数据持久框架,它能将对象映射为SQL语句.它是个轻量级的框架并且持久性API适合持久化POJO.iBatis也与Hibernate, JDO不同,因为它使用存储过程和现有的SQL来处理数据库.
iBATIS3.0和以前的版本有一些改变,不过学过以前版本的再学习3.0应该不是太难,3.0要求JDK1.5支持,因为其中增加了注解和泛型,这些都是JDK1.5才有的。好了废话不多说,先来利用iBATIS3做下简单的增删改查吧。
parameterMap的语法虽然简单,但很繁琐。还有一种更受欢迎更灵活的方法,可以大大简化定义和减少代码量。这种方法把Java Bean的属性名称嵌在Mapped Statement的定义中(即直接写在SQL语句中)。缺省情况下,任何没有指定parameterMap的Mapped Statement都会被解析成inline parameter(内嵌参数)。
简介:iBATIS通过SQLMap将Java对象映射成SQL语句和将结果集再转化成Java对象,与其他ORM框架相比,既解决了Java对象与输入参数和结果集的映射,又能够让用户方便的手写使用SQL语句。本文主要介绍了iBATIS框架的体系结构和运行流程,以及iBATIS如何完成SQL语句的解析与Java对象与数据字段映射关系的建立,最后用一个实例说明了iBATIS是如何帮我们完成工作的。
iBATIS的思想是建立SQL语句到对象的映射,而不是建立数据库表到对象的映射。传统O/RM工具主要关注数据库表到对象的映射。 传统的O/RM高速缓存会为其管理的每个对象维护一个OID[object identification,对象标识],就像数据库需要管理其表中的每条记录的唯一性一样。这意味着,如果两个不同的结果都返回同一个对象,那么该对象将只被高速缓存一次。 iBATIS不这样,关注的是SQL语句的执行结果,我们不会根据对象的唯一性来高速缓存它们iBATIS高速缓存的所有结果,而不考虑所标识的对象是否存在于高速缓存中。
核心提示:SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。
我们的大部分员工习惯了Hibernate的关联对象查询、级联删除、级联保存等特性,那么iBATIS是否提供同样的功能呢?这是大部分人会关心的内容。 答案也许是另人失望的。iBATIS可以关联查询,却没有提供级联保存和级联删除的特性。 下面我们介绍如何处理关联对象之间的查询、保存及删除问题。