Mybatis架构图,运行流程
MyBatis本质 就是代理模式体现;MyBatis作者思想认为JDBC开发流程中所有的步骤都是次要业务,认为SQL编写主要任务。开发人员专注于SQL编写应该忽略JDBC开发流程,轻度体现ORM思想。 MyBatis与Hibernate比较 Hibernate:杜绝开发人员亲自使用JDBC,杜绝亲自编写用sql命令,Hibernate无法SQL优化,Hiberante缓存依赖程度过大,一级缓存如何同步二级缓存 MyBatis:杜绝开发人员亲自使用JDBC,认为开发人员专注于sql优化,MyBatis对于缓存依赖轻 MyBatis架构图 mybatis大体上分为三层: 第一层接口层,提供给开发人员用于操作的接口,要求mybatis操作数据库。(接口层不是真正实现的地方,只是用来与程序员做交互的)。 第二层 数据处理层:其中共有四个模块 1)参数映射:怎么将参数映射到相应的sql占位符上 2)sql解析:怎么将配置文件中的sql命令与当前的接口做关联 3)sql执行:判断是何种sql,完成sql调用 4)结果映射:利用反射机制将查询结果将某个实例做个相关的关联 支撑层:连接管理,事务,缓存等管理,配置信息的加载 大体执行流程 代码如下 public class Main { public static void main ( String [ ] args ) throws