1:组件结构如下图所示
当外部应用程序调用SQL Map 组件,主要是与Client接口组件进行交互实现具体的业务功能,Client接口只是充当了SQL Map组件的门户。
Client接口组件调用Configuration配置组件和实现类组件---implement组件。implement组件是整个SQL Map组件的核心,该组件属于中心调度组件,
由它来协调其他各个组件的任务顺序和工作安排。首先该组件通过Configuration配置组件获得要实现业务的引擎信息,然后通过调用DataBase数据库
组件来对数据库和数据库事务进行管理,通过调用Map映射组件来实现SQL语句的生成和执行,并转化执行后的获得的结果。通过调用Cache缓存组件来
实现对象的缓存管理,Map映射组件调用Type数据类型转化组件来实现各种数据类型的转换。同时Implement实现组件、Configuration配置组件、Database数据库
组件、Map映射组件、Cache缓存组件、Type数据类型转换组件都依赖Common基础组件,都是基于该组件提供的基础功能来实现特定的任务。
组件和特定的包的对应关系如下表所示:
序号 |
组件 |
覆盖的包 |
说明 |
1 |
Cache接口组件 |
com.ibatis.sqlmap.client |
用户进行调用的接口 |
2 |
Implement实现组件 |
com.ibatis.sqlmap.engine.impl com.ibatis.sqlmap.engine.scope |
用户调用接口的实现类 |
3 |
Configuration配置组件 |
com.ibatis.sqlmap.engine.builder.xml com.ibatis.sqlmap.engine.config |
解析配置文件,形成配置信息 |
4 |
DataBase数据库组件 |
com.ibatis.sqlmap.engine.datasource com.ibatis.sqlmap.engine.transaction com.ibatis.common.jdbc |
数据库处理,包括事务和SQL内容 |
5 |
Map映射组件 |
com.ibatis.sqlmap.engine.mapping com.ibatis.sqlmap.engine.exchange |
映射处理 |
6 |
Cache缓存组件 |
com.ibatis.sqlmap.engine.cache |
缓存管理 |
7 |
Type数据类型转化组件 |
com.ibatis.sqlmap.engine.type |
数据类型转化 |
8 |
Common基础组件 |
com.ibatis.common |
通用工具和基础类 |