一.架构图
1、 mybatis配置
SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。
mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。
二.执行流程
三.源码解析
(1).框架如何初始化
1.加载配置
2.解析配置,将解析结果全局存到Configuration对象中
3.根据Configuration来创建SqlSessionFactory(会话工厂)
核心代码演示
(3).如何创建Sqlsession
使用 MyBatis 的主要 Java 接口就是 SqlSession。
你可以通过这个接口来执行命令,获取映射器和管理事务。
(4).如何调用Mapper接口的[抽象工厂方法]
Mapper接口开发需要遵循以下规范:
1、 Mapper.xml文件中的namespace与mapper接口的类路径相同。
2、 Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
3、 Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
4、 Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
(5).如何解析SQL语法
Sql解析架构
- 从注解xml 定义到MappedStatement
- 从MappedStatement到可执行的Sql
(6).如何设置SQL参数
第一种方法
1.只使用xml配置文件
第二种方法
接口配合xml配置文件
第三种方法
使用注解的方法
在config-mybatis.xml更改配置
(7).缓存如何起作用
一级缓存是基于 PerpetualCache(mybatis自带)的 HashMap 本地缓存,作用范围为session,所以当session commit或close后,缓存就会被清空
二级缓存默认也是基于 PerpetualCache,但是可以为其制定存储源,比如ehcache
一级缓存缓存的是SQL语句,而二级缓存缓存的是结果对象,看如下例子(mybatis的日志级别设为debug)
(8).如何执行insert/delete/update
(9).如何执行查询
(10).如何映射查询结果