Ibatis原理分析

转载 2012年03月27日 22:11:49
  1. Ibatis框架架构如下图所示:

 

     外部Java Application调用SqlMapClient接口,经过SqlMapSession、SqlMapExecutorDelegate等实现类,通过PersistentObject、ParameterMap、ResultMap、

MappedStatement、Transaction等,基于JDBC、JTA等事务操作,最后调用SqlExecutor操作类对数据库进行操作

   SQL Map框架可以专门用于O/R映射,O/R映射是JavaBean对象到数据库中关系表的映射。SQL Map框架使用XML描述符将JavaBean映射到SQL语言,执行SQL

并将结果映射返回对象,其核心功能是围绕MappedStatement进行的。

   在实现O/R时,通常是通过配置SqlMapConfig.xml来定义总体变量、事务管理模式、连接数据库信息,同时,指定包含MappedStatements,ResultMap、ParameterMap的映射文件位置等内容,然后通过SQL Map API 将JavaBeans对象映射到PreparedStatement参数和ResultSet,并完成持久化操作

 

  SQL Map提供了一个简洁的框架,使用简单的XML描述文件将Java Bean,Map实现和基本数据类型的包装类(String,Integer等)映射成JDBC的PreparedStatement。以下流程描述了SQL Maps的高层生命周期:
将一个对象作为参数(对象可以是Java Bean,Map实现和基本类型的包装类),参数对象将为SQL修改语句和查询语句设定参数值。


    1) 执行mapped statement。这是SQL Maps最重要的步骤。SQL Map框架将创建一个PreparedStatement实例,用参数对象为PreparedStatement实例设定参数,执行 PreparedStatement并从ResultSet中创建结果对象。


    2) 执行SQL的更新数据语句时,返回受影响的数据行数。执行查询语句时,将返回一个结果对象或对象的集合。和参数对象一样,结果对象可以是Java Bean,Map实现和基本数据类型的包装类

 

 结合传统的JDBC操作,转化为SQL Map要执行如下操作:

  1.    配置SQL Map配置文件,载入JDBC驱动程序和数据库连接(包括事务管理模式和DataSource模式)等信息
  2.    配置SQL Map映射文件,包括parameterMap、resultMap、SQL等信息,其中parameterMap是输入参数信息,resultMap是输出结果信息,sql是SQL语句部分
  3.   根据SQL Map配置文件配置信息,加载配置的JDBC驱动程序
  4.   根据SQL Map配置文件,建立数据库连接
  5.   根据SQL Map映射文件中的sql信息和parameterMap信息,建立符合JDBC规范的SQL语句和输入参数
  6.   执行SQL 语句
  7.   处理结果集,把数据库结果集转化为SQL Map映射文件中的resultMap格式内容
  8.   关闭数据库连接

 

相关文章推荐

Ibatis原理分析

Ibatis框架架构如下图所示:          外部Java Application调用SqlMapClient接口,经过SqlMapSession、SqlMapExecuto...

深入分析 iBATIS 框架之系统架构与映射原理

深入分析 iBATIS 框架之系统架构与映射原理 iBATIS 通过 SQL Map 将 Java 对象映射成 SQL 语句和将结果集再转化成 Java 对象,与其他 ORM 框架相...

深入分析 iBATIS 框架之系统架构与映射原理

iBATIS 框架主要的类层次结构 总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情: 根据 JDBC 规范建立与数据库的连接; 通过反射打通 Java 对象与数...

iBatis的JpetStore示例中MVC机制实现原理

JpetStore中的Action与普通Struts的Action处理方式不一样。遍历JpetStore的src文件夹,并无一个具体的Action,那么它是如何来完成普通Struts的Action工作...

java web中IBATIS的工作原理(1)

这段时间闲来无事重新研究下SSH和SSI的模型,以前写过一篇关于Hibernate对JDBC的封装的文章,这不就再来写一篇Ibatis的。 相对于Hibernate的一站式ORM解决方案而言,Iba...

spring与struts、ibatis结合配置工作原理示意图

配置过程中使用到的spring内置对象主要有:      (1)ContextLoaderListener; 初始化spring进入ServletContext;      (2)Autowiring...

iBATIS工作原理浅析

一:iBATIS工作原理是什么呢?iBATIS在不同的系统中的角色是什么呢?那么本文将会向你介绍这方面的信息 谈到iBATIS工作原理问题尤其要注意的是,有了iBATIS,你就再不需要直接编写J...

Ibatis SQL Map组件结构分析

1:组件结构如下图所示       当外部应用程序调用SQL Map 组件,主要是与Client接口组件进行交互实现具体的业务功能,Client接口只是充当了SQL Map组件的门户。  ...

ibatis源码分析—配置文件解析(2)

ibatis阅读笔记

ibatis源码分析

出处:http://blog.csdn.net/itomge/article/details/9173807
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)