文章 2022-05-30 来自:开发者社区

MyBatis源码学习(一)

絮叨一个搞Java后端的如果连一个ORM的大致轮廓都没有的话是不应该的,在这之前小六六也是一样,都是按照前人的去写,并没有尝试说去看看底层是怎么样,以前的Mybatis对于我来说,就是一个黑洞,我完全不知道他是什么,所以呢?小六六觉得这样肯定不行嘛,至少得啃一个ORM框架,然后mybatis 又是用的比较多的,所以嘛就先学习学习,慢慢来这个系列总览借用大佬的一章图,从图中可以看出,我们平时的工作....

MyBatis源码学习(一)
文章 2022-05-27 来自:开发者社区

【图文并茂】源码解析MyBatis Sharding-Jdbc SQL语句执行流程详解

本文将详细介绍Mybatis SQL语句执行的全流程,本文与上篇具有一定的关联性,建议先阅读该系列中的前面3篇文章,重点掌握Mybatis Mapper类的初始化过程,因为在Mybatis中,Mapper是执行SQL语句的入口,类似下面这段代码:1@Service 2public UserService implements IUserService { 3 @Autowired 4 ...

【图文并茂】源码解析MyBatis Sharding-Jdbc SQL语句执行流程详解
文章 2022-05-25 来自:开发者社区

带你精读 MyBatis 源码

1 了解项目结构annotations 注解提供在Mapper 接口上使用注解进行CRUD操作,虽然方便但是不能很好的解耦,更推荐在XML文件写SQLbinding在调用 SqlSession 相应方法执行数据库操作时,需要指定映射文件中定义的 SQL 节点,如果出现拼写错误,我们只能在运行时才能发现相应的异常。Mapper 接口与映射配置文件关联起来,系统可以通过调用自定义 Mapper 接口....

带你精读 MyBatis 源码
文章 2022-05-21 来自:开发者社区

深挖 Mybatis 源码:TypeHandler,反射工具包!

本文选自 Doocs 开源社区旗下“源码猎人”项目,作者 AmyliaY。项目将会持续更新,欢迎 Star 关注。项目地址:https://github.com/doocs/source-code-hunter关于 Mybatis 源码系列,前面已经介绍了缓存模块,这篇文章里,我们来看看 Mybatis 反射工具箱和 TypeHandler 系列。1 反射工具包1.1ReflectorRefle....

文章 2022-05-21 来自:开发者社区

深挖 Mybatis 源码:缓存模块

本文选自 Doocs 开源社区旗下“源码猎人”项目,作者 AmyliaY。项目将会持续更新,欢迎 Star 关注。项目地址:https://github.com/doocs/source-code-hunterMyBatis 中的缓存分为一级缓存、二级缓存,但在本质上是相同的,它们使用的都是 Cache 接口的实现。在这篇文章里,我们就来分析 Cache 接口以及多个实现类的具体实现。1 Cac....

深挖 Mybatis 源码:缓存模块
文章 2022-05-21 来自:开发者社区

第二弹!从 Spring 及 Mybatis 框架源码中学习设计模式

本文选自 Doocs 开源社区旗下“源码猎人”项目,作者 AmyliaY。项目将会持续更新,欢迎 Star 关注。项目地址:https://github.com/doocs/source-code-hunter设计模式是解决问题的方案,从大神的代码中学习对设计模式的使用,可以有效提升个人编码及设计代码的能力。本系列博文用于总结阅读过的框架源码(Spring 系列、Mybatis)及 JDK 源码....

第二弹!从 Spring 及 Mybatis 框架源码中学习设计模式
文章 2022-05-21 来自:开发者社区

从 Spring 及 Mybatis 框架源码中学习设计模式

本文选自 Doocs 开源社区旗下“源码猎人”项目,作者 AmyliaY。项目将会持续更新,欢迎 Star 关注。项目地址:https://github.com/doocs/source-code-hunter设计模式是解决问题的方案,从大神的代码中学习对设计模式的使用,可以有效提升个人编码及设计代码的能力。本系列博文用于总结阅读过的框架源码(Spring 系列、Mybatis)及 JDK 源码....

从 Spring 及 Mybatis 框架源码中学习设计模式
文章 2022-05-18 来自:开发者社区

为什么建议框架源码学习从Mybatis开始(下)

private Executor delegate; private TransactionalCacheManager tcm = new TransactionalCacheManager(); public <E> List<E> query(MappedStatement ms, Object parameterObject, RowBounds rowBound....

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

为什么建议框架源码学习从Mybatis开始(中)

2、MapperProxy:就是上面创建代理时的增强public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try { if (Object.class.equals(method.getDeclaringClass())) { return met...

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

为什么建议框架源码学习从Mybatis开始(上)

态度决定一切。一、容器Configuration二、动态SQL模板1、MappedStatement(映射器)2、解析过程三、SqlSession1.基本介绍2.分类3.Executor四、Mapper(殊途同归)1.存在的意义2.工作原理五、缓存1.一级缓存2.二级缓存2.1基本信息2.2如何工作六、插件七、结果映射八、总结看过Mybatis后,我觉得Mybatis虽然小,但是五脏俱全,而且设....

为什么建议框架源码学习从Mybatis开始(上)

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

Apache Spark 中国技术社区

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

+关注