Mybatis之Mybatis框架原理(2)

来源:互联网 发布:淘宝装修模板代理 编辑:程序博客网 时间:2024/06/06 09:53

该系列博客是自己整理的传智播客的Mybatis学习笔记。

一、Mybatis是什么?

Mybatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到google code,并且改名为MyBatis。再后来托管到github下(http://github.com/mybatis/mybatis-3/releases)。


Mybatis让程序员将主要精力放在SQL上,通过mybatis提供的映射方式,自由灵活生成(办自动化,大部分需要程序员自己编写SQL)满足需要的SQL语句。


Mybatis可以将向preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)


二、Mybatis框架

2.1 Mybatis框架历史


2.2 Mybatis框架原理


MyBatis框架原理图


1、MyBatis配置
SqlMapConfig.xml,此文件作为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,注意名称是可以修改的。
mapper.xml文件即SQL映射文件,文件中配置了操作数据库的SQL语句。此文件需要在SqlMapConfig.xml中加载。


2、通过MyBatis环境等配置信息构造SqlSessionFactory即会话工厂。


3、由会话工厂创建SqlSession即会话,操作数据库需要通过SqlSession进行。


4、MyBatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器,一个缓存执行器。


5、Mapped Statement也是MyBatis一个底层封装对象,它包装了MyBatis配置信息及SQL映射信息等。Mapper.xml文件中一个SQL对应一个Mapped Statement对象,SQL的id即是Mapped statement的id。


6、Mapped Statement对SQL执行输入参数进行定义,包括HashMap、基本类型、pojo、Executor通过Mapped Statement在执行SQL前将输入的java对象映射至SQL中,输入参数映射就是JDBC编程中对preparedStatement设置参数。


7、Mapped Statement对SQL执行输出结果进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行SQL后将结果映射至java对象中,输出结果映射过程相当于JDBC编程中对结果的解析处理过程。

原创粉丝点击