书籍作者:江荣波 | ISBN:9787302535614 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:6124 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《MyBatis 3源码深度解析》从MyBatis源码的角度分析Mapper绑定过程、SqlSession操作数据库原理、插件实现原理等,同时介绍一些MyBatis的高级用法,并挖掘MyBatis源码中使用的设计模式。
《MyBatis 3源码深度解析》共13章,分为MyBatis3源码篇和MyBatisSpring源码篇。第1~11章介绍MyBatis核心源码,从源码的角度分析MyBatis的实现原理,并介绍一些MyBatis的高级用法。MyBatis大多数情况下会与Spring整合使用,第12-13章介绍MyBatisSpring的实现原理,并分析MyBatisSpring模块的核心代码。
《MyBatis 3源码深度解析》适合掌握了MyBatis的基本用法并希望了解MyBatis底层实现的Java开发人员、架构师以及对Java开源项目感兴趣的读者阅读。
江荣波,JAVA高级工程师,参与过网上银行、短信平台、渠道整合平台开发等大型Java EE项目及多款金融类App产品开发。出版图书《AngularJS入门与进阶》。
本书从MyBatis源码的角度分析了Mapper绑定过程、SqlSession操作数据库原理、插件实现原理等,同时介绍一些MyBatis的高级应用,挖掘MyBatis源码中使用的设计模式。本书适合希望
了解MyBatis底层实现的Java开发人员、架构师以及对Java开源项目感兴趣的所有读者阅读参考。
在写作本书时,SSM(Spring、SpringMVC和MyBatis)框架已经成为很多互联网公司的标配。笔者最早接触MyBatis框架是在20j4年,当时接手的是一个非常成熟的网上银行系统,项目中使用的持久层框架就是MyBatis的前身-iBatis框架。后来换了两份工作,新的公司也都选择MyBatis作为持久层框架。从iBatis过渡到MyBatis框架几乎不需要任何学习成本,MyBatis延续了iBatis简单易用的特点,优化了SQL配置方式,引用OGNL表达式来支持动态SQL配置,使得动态SQL配置更加优雅,而且更容易理解。在笔者看来,MyBatis相对于iBatis框架最大的创新是引入了SQLMapper的概念。我们可以将XML文件中的SQL配置与一个Java接口进行绑定,SQL配置的命名空间对应Java接口的完全限定名,而具体的每个SQL语句的配置对应Java接口中的一个方法,建立绑定后,可以通过调用Java接口中定义的方法来执行XML文件中配置的SQL语句。
MyBatis作为持久层框架,以其小巧轻便、SQL可配置、使用简单等特点深受广大Java开发者喜爱。然而大多数开发入员对MyBatis框架的理解仅局限于使用,并不理解框架底层的实现原理。作为一名开发人员,阅读开源框架的源码,可以学习源码中对设计模式及面向对象设计原则的应用,有助于提升自身编码能力。笔者在工作之余,深入研究了MyBatis框架的源码,本书将会从源码的角度分析MyBatis框架各个特性的实现原理。阅读准备
在阅读本书之前,读者需要准备如下开发环境:
JDKl.8或以上版本
ApacheMaven构建工具
IntelliJIDEA开发工具
Git版本控制工具
内容概要
本书主要分为两篇:第1篇为MyBatis3源码篇(第1~11章),主要介绍MyBatis框架各个特性的源码实现;第2篇章为MyBatisSpring源码篇(第12^v13章),主要介绍MyBatis框架与Spring框架整合的原理及MyBatisSpring模块的实现细节。下面是本书的内容大纲。
第1篇 MyBatis3源码
第1章 搭建MyBatis源码环境
1.1 MyBatis3简介
1.2 环境准备
1.3 获取MyBatis源码
1.4 导入MyBatis源码到IDE
1.5 HSQLDB数据库简介
1.6 本章小结
第2章 JDBC规范详解
2.1 JDBCAPI简介
2.1.1 建立数据源连接
2.1.2 执行SQL语句
2.1.3 处理SQL执行结果
2.1.4 使用JDBC操作数据库
2.2 JDBCAPI中的类与接口
2.2.1 java.sql包详解
2.2.2 javax.sql包详解
2.3 Connection详解
2.3.1 JDBC驱动类型
2.3.2 java.sql.Driver接口
2.3.3 JavaSPI机制简介
2.3.4 java.sqI.DriverAction接口
2.3.5 java.sql.DriverManager类
2.3.6 javax.sql.DataSource接口
2.3.7 使用JNDIAPI增强应用的可移植性
2.3.8 关闭Connection对象
2.4 Statement详解
2.4.1 java.sql.Statement接口
2.4.2 java.sql.PreparedStatement接口
2.4.3 java.sql.CallableStatement接口
2.4.4 获取自增长的键值
2.5 ResultSet详解
2.5.1 ResultSet类型
2.5.2 ResultSet并行性
2.5.3 ResultSet可保持性
2.5.4 ResultSet属性设置
2.5.5 ResultSet游标移动
2.5.6 修改ResultSet对象
2.5.7 关闭ResultSet对象
2.6 DatabaseMetaData详解
2.6.1 创建DatabaseMetaData对象
2.6.2 获取数据源的基本信息
2.6.3 获取数据源支持特性
2.6.4 获取数据源限制
2.6.5 获取SQL对象及属性
2.6.6 获取事务支持
2.7 JDBC事务
2.7.1 事务边界与自动提交
2.7.2 事务隔离级别
2.7.3 事务中的保存点
2.8 本章小结
……
第3章 MyBatis常用工具类
第2篇 MyBatisSpring源码