0
点赞
收藏
分享

微信扫一扫

读Mybatis源码

小a草 2022-04-14 阅读 103
java

一.架构图

 

 

 

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).如何映射查询结果

 

 

举报

相关推荐

0 条评论