.什么是Mybatis?

Mybatis:根据官方解释,MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。MyBatis 使用简单的 XML 或注解来配置和映射基本体,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

2.特点

Mybatis:

1) 支持自定义SQL、存储过程、及高级映射

2) 实现自动对SQL的参数设置

3) 实现自动对结果集进行解析和封装

4) 通过XML或者注解进行配置和映射

5) 实现Java对象与数据库表的映射转换

可以发现,MyBatis是对JDBC进行了简单的封装,帮助用户进行SQL参数的自动化映射,以及结果集与Java对象的映射。与Hibernate相比,更加配置简单、灵活、执行效率高。但是正因为此,所以没有实现完全自动化,需要手写SQL,这是优点也是缺点。

 3.架构

MyBatis架构总结:

1、 MyBatis有两类配置文件:

a) mybatis-condig.xml,是MyBatis的全局配置文件,包含全局配置信息,如数据库连接参数、插件等。整个框架中只需要一个即可。

b) xxxMapper.xml,是映射文件,里面配置要执行的SQL语句,每个SQL对应一个Statement,可以有多个Mapper.xml文件

2、 首先会通过SqlSessionFactoryBuilder来加载配置文件,生成一个SqlSessionFactory

a) 会加载mybatis-config.xml和mapper.xml

b) 加载mapper.xml的时候,顺便会对Sql进行编译,形成statement

3、 通过SqlSessionFactory建立连接,获取SqlSession对象

4、 MyBatis获取要执行的statement,进行自动参数设置

5、 SqlSession底层会通过Executor(执行器)来执行编译好的Statement,获取结果

6、 SQL的输入参数类型:

a) POJO,普通Java对象

b) HashMap,其实是POJO的Map形式, 键值对就是对象字段名和值z“

c) 各种基本数据类型

7、 查询结果的输出形式

a) POJO,普通Java对象

b) HashMap,其实是POJO的Map形式, 键值对就是对象字段名和值

c) 各种基本数据类型

 

版权声明:本文为lichangyun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lichangyun/p/8507634.html