博客
关于我
Mybatis中使用代理dao的执行过程分析
阅读量:692 次
发布时间:2019-03-17

本文共 359 字,大约阅读时间需要 1 分钟。

首先基于,我们分析如下:

在这里插入图片描述
找到SqlSession的实现类DefaultSqlSession并找到它的getMapper方法:
在这里插入图片描述
继续进入Configuration类中找到它的getMapper方法:
在这里插入图片描述
继续进入mapperRegistry类中找到getMapper方法:
在这里插入图片描述
接着进入MapperProxyFactory类中找到newInstance方法:
在这里插入图片描述
这里可以看出使用了动态代理,newProxyInstance第一个参数为类加载器,第二个参数为实现接口,第三个参数为如何代理。
接下来进入MapperProxy看看是如何进行代理:
在这里插入图片描述
可以看出执行了execute:
在这里插入图片描述
接着我们进入executeForMany:
在这里插入图片描述
通过上面分析可以看出Mybatis帮我们做了一系列工作,所以我们可以不用实现dao接口。
可以结合这篇文章看

转载地址:http://wuchz.baihongyu.com/

你可能感兴趣的文章
Mysql--逻辑架构
查看>>
MySql-2019-4-21-复习
查看>>
mysql-5.6.17-win32免安装版配置
查看>>
mysql-5.7.18安装
查看>>
MySQL-8.0.16 的安装与配置
查看>>
MySQL-Buffer的应用
查看>>
mysql-cluster 安装篇(1)---简介
查看>>
mysql-connector-java.jar乱码,最新版mysql-connector-java-8.0.15.jar,如何愉快的进行JDBC操作...
查看>>
mysql-connector-java各种版本下载地址
查看>>
mysql-EXPLAIN
查看>>
MySQL-Explain的详解
查看>>
mysql-group_concat
查看>>
MySQL-redo日志
查看>>
MySQL-【1】配置
查看>>
MySQL-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>
Mysql-存储引擎
查看>>
mysql-开启慢查询&所有操作记录日志
查看>>
MySQL-数据目录
查看>>