Ibatis原理分析

  1. Ibatis框架架构如下图所示:

 

Ibatis原理分析_第1张图片

     外部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.   关闭数据库连接

 

你可能感兴趣的:(sql,数据库,框架,jdbc,ibatis,javabeans)