mybatis 核心思想

前言:mybatis是一个非常优秀的存储过程和高级映射的优秀持久层框架。大大简化了,数据库操作中的常用操作,将SQL语句和数据库连接操作彻底从代码中分离出来,使代码耦合性变低,修改SQL更加容易,代码更清晰易懂

。下面将介绍mybatis的一些概念和在eclipse上的实际项目搭建使用。

一、mybatis的概念介绍

1.1、背景介绍

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类—-Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。

1.2、总体流程

(1)加载配置并初始化 
触发条件:加载配置文件 
将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。

(2)接收调用请求 
触发条件:调用Mybatis提供的API 
传入参数:为SQL的ID和传入参数对象 
处理过程:将请求传递给下层的请求处理层进行处理。

(3)处理操作请求 触发条件:API接口层传递请求过来 
传入参数:为SQL的ID和传入参数对象 
处理过程: 
(A)根据SQL的ID查找对应的MappedStatement对象。 
(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。 
(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。 
(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。 
(E)释放连接资源。

(4)返回处理结果将最终的处理结果返回。

猜你喜欢

转载自blog.csdn.net/SCDN_CP/article/details/81226583