概述
1、简介
- 支持
自定义 SQL、存储过程以及高级映射。MyBatis免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的XML或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。


2、官网
3、特点
- Mybatis:
- 1) 支持
自定义SQL、存储过程、及高级映射 - 2) 实现
自动对SQL的参数设置 - 3) 实现
自动对结果集进行解析和封装 - 4)
通过XML或者注解进行配置和映射 - 5)
实现Java对象与数据库表的映射转换
- 1) 支持
- 可以发现,MyBatis是
对JDBC进行了简单的封装,帮助用户进行SQL参数的自动化映射,以及结果集与Java对象的映射。与Hibernate相比,更加配置简单、灵活、执行效率高。但是正因为此,所以没有实现完全自动化,需要手写SQL,这是优点也是缺点。 - 因此,对性能要求较高的电商类项目,一般会使用MyBatis,而对与业务逻辑复杂,对执行效率要求不高的传统行业,一般会使用Hibernate
4、架构

1.MyBatis有两类配置文件:
- a)
mybatis-config.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) 各种
基本数据类型
2314

被折叠的 条评论
为什么被折叠?



