文章 2023-12-02 来自:开发者社区

从头到尾手把手教你搭建阅读Mybatis源码的环境(程序员必备技能)

先放上编译好的mybatis:https://github.com/truedei/mybatis-notes自己下载哦,还有注解。一、下载Mybatis源码Mybatis的GitHub开源地址:https://github.com/mybatis/mybatis-3/进入github官网后打开Releases,可以通过Releases找到最新的或者不同的版本进行下载源码直接下载Source c....

从头到尾手把手教你搭建阅读Mybatis源码的环境(程序员必备技能)
文章 2022-05-09 来自:开发者社区

阅读mybatis的源码的思路

■ 阅读源码mybatis操作数据库的过程:/* 测试查询 */ @Test public void testGet() throws IOException { // 1、从classpath路径加载mybatis全局配置文件mybatis-config.xml InputStream in = Resources.getResourceAsStream("mybati...

阅读mybatis的源码的思路
文章 2022-02-18 来自:开发者社区

手把手带你阅读Mybatis源码(三)缓存篇(下)

@Override public Object getObject(Object key) { // issue #116 Object object = delegate.getObject(key); if (object == null) { //如果取出的是空,那么放到未命中缓存,并且在查询数据库之后putObject中将本应该...

手把手带你阅读Mybatis源码(三)缓存篇(下)
文章 2022-02-18 来自:开发者社区

手把手带你阅读Mybatis源码(三)缓存篇(中)

public <E> List<E> query(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, CacheKey key, BoundSql boundSql) throws SQLException { ErrorContext.in...

文章 2022-02-18 来自:开发者社区

手把手带你阅读Mybatis源码(三)缓存篇(上)

前言大家好,这一篇文章是MyBatis系列的最后一篇文章,前面两篇文章:手把手带你阅读Mybatis源码(一)构造篇 和 手把手带你阅读Mybatis源码(二)执行篇,主要说明了MyBatis是如何将我们的xml配置文件构建为其内部的Configuration对象和MappedStatement对象的,然后在第二篇我们说了构建完成后MyBatis是如何一步一步地执行我们的SQL语句并且对结果集进....

手把手带你阅读Mybatis源码(三)缓存篇(上)
文章 2022-02-18 来自:开发者社区

手把手带你阅读Mybatis源码(二)执行篇(下)

执行阶段总结到这里,MyBatis的执行阶段从宏观角度看,一共完成了两件事:代理对象的生成SQL的执行而SQL的执行用了大量的篇幅来进行分析,虽然是根据一条查询语句的主线来进行分析的,但是这么看下来一定很乱,所以这里我会话一个流程图来帮助大家理解:结果集处理在SQL执行阶段,MyBatis已经完成了对数据的查询,那么现在还存在最后一个问题,那就是结果集处理,换句话来说,就是将结果集封装成对象。在....

手把手带你阅读Mybatis源码(二)执行篇(下)
文章 2022-02-18 来自:开发者社区

手把手带你阅读Mybatis源码(二)执行篇(中)

SQL执行(二级缓存)执行SQL的核心方法就是selectList,即使是selectOne,底层实际上也是调用了selectList方法,然后取第一个而已。@Override public <E> List<E> selectList(String statement, Object parameter, RowBounds rowBounds) { t...

文章 2022-02-18 来自:开发者社区

手把手带你阅读Mybatis源码(二)执行篇(上)

前言上一篇文章提到了MyBatis是如何构建配置类的,也说了MyBatis在运行过程中主要分为两个阶段,第一是构建,第二就是执行,所以这篇文章会带大家来了解一下MyBatis是如何从构建完毕,到执行我们的第一条SQL语句的。之后这部分内容会归置到公众号菜单栏:连载中…-框架分析中,欢迎探讨!入口(代理对象的生成)public static void main(String[] args) thr....

手把手带你阅读Mybatis源码(二)执行篇(上)
文章 2022-02-18 来自:开发者社区

手把手带你阅读Mybatis源码(一)构造篇(下)

代码执行至此,基本就结束了对Configuration对象的构建,MyBatis的第一阶段:构造,也就到这里结束了,现在再来回答我们在文章开头提出的那两个问题:MyBatis需要构造什么对象?以及是否两个配置文件对应着两个对象?,似乎就已经有了答案,这里做一个总结:MyBatis需要对配置文件进行解析,最终会解析成一个Configuration对象,但是要说两个配置文件对应了两个对象实际上也没有....

手把手带你阅读Mybatis源码(一)构造篇(下)
文章 2022-02-18 来自:开发者社区

手把手带你阅读Mybatis源码(一)构造篇(中)

Mappers上文中提到,mybatis-config.xml文件中我们一定会写一个叫做<mappers>的标签,这个标签中的<mapper>节点存放了我们对数据库进行操作的SQL语句,所以这个标签的构建会作为今天分析的重点。首先在看源码之前,我们先回忆一下我们在mapper标签内通常会怎样进行配置,通常有如下几种配置方式。<mappers> <...

手把手带你阅读Mybatis源码(一)构造篇(中)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

Apache Spark 中国技术社区

阿里巴巴开源大数据技术团队成立 Apache Spark 中国技术社区,定期推送精彩案例,问答区数个 Spark 技术同学每日在线答疑,只为营造 Spark 技术交流氛围,欢迎加入!

+关注