易燃物汇聚 YouTube 有声书与书评
MyBatis 3源码深度解析 封面

MyBatis 3源码深度解析

江荣波

6072人在读
14.8万字总字数
¥48.3定价

内容简介

本书从MyBatis源码的角度分析Mapper绑定过程、SqlSession操作数据库原理、插件实现原理等,同时介绍一些MyBatis的高级用法,并挖掘MyBatis源码中使用的设计模式。本书共13章,分为MyBatis3源码篇和MyBatisSpring源码篇。第1~11章介绍MyBatis核心源码,从源码的角度分析MyBatis的实现原理,并介绍一些MyBatis的高级用法。MyBatis大多数情况下会与Spring整合使用,第12~13章介绍MyBatisSpring的实现原理,并分析MyBatisSpring模块的核心代码。本书适合掌握了MyBatis的基本用法并希望了解MyBatis底层实现的Java开发人员、架构师以及对Java开源项目感兴趣的读者阅读。

读者书评

★★★★★

首先感谢作者的分享,作者在解读的过程中还是会尽量往设计模式上靠拢。之前读过的源码书大部分都没看完,基本都是流水账风格,阅读过程真是痛苦,没有自己的理解,也没有写清楚代码如此设计的理由。

★★★★★

MyBatis在设计上的确有许多可以学习的地方,因为其功能相对单一,框架本身不是很复杂,其源码很适合作为软件架构与设计模式的学习素材。不过相比Spring等框架而言,MyBatis的代码质量并不高,有很多优化的空间。本书可以作为源码阅读的参考资料。

★★★★☆

很深入的介绍了MyBatis 3的源码。适合已经熟悉使用MyBatis的开发人员。这种图片方式看源码还是比较难理解的。最好还是通过示例跟踪代码来深入学习。

★★★★★

应该是读第二遍了,整体读起来全书逻辑比较清晰的,需要结合mybatis源码和对照着使用案例会更加清晰。 本书首先对mybatis做了整体介绍,之后讲解了核心组件,之后章节分开来讲了mybatis的几个关键实现,sql session的创建,sql语句执行,缓存实现等这些,最后两章还讲解了mybatis- spring组合的原理。整本书内容还是比较完整,值得一读

★★★★★

本书还是值得一看的:在工作中经常使用此框架,解决遇到一些问题后,如果对于起背后的原理好奇,那本书的内容值得一看 介绍非常核心的部分,读完能有这个大体的了解,但光看肯定是不够的,需要下来花更多的功夫才能掌握

★★★☆☆

2020年24本书,发觉文字真的精深标题也用得好。这术是解板而不是分析。没有什么思考,纯的源码解读。给你讲每个组件是做什么的怎样运行的。没有作者自己的东西只有把源码说给你听。从源码的配置,jdbc讲起,然后是各组件的说明。可惜只是解析。

★★★★★

之前看的时候不知道重点,就每章都整理了下,一年过去了,回看这些内容,总结下学习重点(共四部分) 一、Configuration类的三种作用 1.控制MyBatis运行时的行为 2.容器:存放TypeHandler(类型处理器)、Mapper、 SQL 3.组件的工厂类:Executor、StatementHandler、ResultSetHandler、ParameterHandler,方便实现插件拦截 二、MyBatis各组件与JDBC各组件之间的关系(书里有图) 三、Mapper方法调用过程 1.理解两个map的内容 Map<Class<?>, MapperProxyFactory<?>> knownMappers:Class对象--MapperProxyFactory对象 Map<String, MappedStatement> mappedStatements:Mapper--MappedStatement对象 2.画下流程Mapper中方法调用的流程图,理解整个调用过程(自己画): 先获得Mapper的代理类,然后执行代理类的invoke()方法 invoke()方法中,调用了SqlSession的方法 四、拦截器的调用逻辑(也自己画张图)

★★★★☆

Mybatis源码不像spring那么大的体系,无非就是SqlSessionFactory,SqlSession,Mapper加载过程,配置加载到Configuration里面并将mapper接口缓存用MapperProxyFactory占位,以便在DefaultSqlSession创建MapperProxy时做准备。 Mybatis的插件就是层层代理,类似责任链,对Executer,StatementHandler,ParameterHandler,ResultSetHandler四大对象做功能的增强。。。 集成spring也是利用spring的FactoryBean,InitializingBean,ApplicationListener,BeanPostProceser等扩展点,把事务交给spring管理,主要对象交给spring管理,巧妙的用扩展点替换mapper的代理,因为DefaultSqlSession线程不安全,生成mapper代理类时候用MapperFactoryBean生成新的SqlSession对象。。。。

★★★★★

在这本书的帮助下,基本读懂了mybatis源码和实现原理,还学习了动态代理,装饰者,工厂等等设计模式,第一次有真正掌握一个框架的感觉。 以后会继续研读每个部分的源码细节,有能力再自己尝试实现一下。 也体会到了学框架原理,最好找一本书,边debug测试代码,边看书,大大的降低学习难度

★★★★★

写得很好,通俗易懂,还会带有例子和源码,一步一步带你深入底层原理,还见识到不少的设计模式,例如装饰器模式,工厂模式,建造者模式和动态代理等等。而且MyBatis的源码的分层是真的做得很好,一层对应一个功能点,点赞!

书籍信息

作者江荣波
出版社清华大学出版社
出版时间2019-10-01
ISBN9787302535614
分类计算机-编程设计
格式EPUB
完结状态连载中
章节数97