![]()
内容推荐 本书从MyBatis源码的角度分析Mapper绑定过程、SqlSession操作数据库原理、插件实现原理等,同时介绍一些MyBatis的高级用法,并挖掘MyBatis源码中使用的设计模式。 本书共13章,分为MyBatis 3源码篇和MyBatis Spring源码篇。第1~11章介绍MyBatis核心源码,从源码的角度分析MyBatis的实现原理,并介绍一些MyBatis的高级用法。MyBatis大多数情况下会与Spring整合使用,第12~13章介绍MyBatis Spring的实现原理,并分析MyBatis Spring模块的核心代码。 本书适合掌握了MyBatis的基本用法并希望了解MyBatis底层实现的Java开发人员、架构师以及对Java开源项目感兴趣的读者阅读。 目录 第1篇 MyBatis 3源码 第1章 搭建MyBatis源码环境 1.1 MyBatis 3简介 1.2 环境准备 1.3 获取MyBatis源码 1.4 导入MyBatis源码到IDE 1.5 HSQLDB数据库简介 1.6 本章小结 第2章 JDBC规范详解 2.1 JDBC API简介 2.1.1 建立数据源连接 2.1.2 执行SQL语句 2.1.3 处理SQL执行结果 2.1.4 使用JDBC操作数据库 2.2 JDBC API中的类与接口 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 Java SPI机制简介 2.3.4 java.sql.DriverAction接口 2.3.5 java.sql.DriverManager类 2.3.6 javax.sql.DataSource接口 2.3.7 使用JNDI API增强应用的可移植性 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常用工具类 3.1 使用SQL类生成语句 3.2 使用ScriptRunner执行脚本 3.3 使用SqlRunner操作数据库 3.4 MetaObject详解 3.5 MetaClass详解 3.6 ObjectFactory详解 3.7 ProxyFactory详解 3.8 本章小结 第4章 MyBatis核心组件介绍 4.1 使用MyBatis操作数据库 4.2 MyBatis核心组件 4.3 Configuration详解 4.4 Executor详解 4.5 MappedStatement详解 4.6 StatementHandler详解 4.7 TypeHandler详解 4.8 ParameterHandler详解 4.9 ResultSetHandler详解 4.10 本章小结 第5章 SqlSession的创建过程 5.1 XPath方式解析XML文件 5.2 Configuration实例创建过程 5.3 SqlSession实例创建过程 5.4 本章小结 第6章 SqlSession执行Mapper过程 6.1 Mapper接口的注册过程 6.2 MappedStatement注册过程 6.3 Mapper方法调用过程详解 6.4 SqlSession执行Mapper过程 6.5 本章小结 第7章 MyBatis缓存 7.1 MyBatis缓存的使用 7.2 MyBatis缓存实现类 7.3 MyBatis一级缓存实现原理 7.4 MyBatis二级缓存实现原理 7.5 MyBatis使用Redis缓存 7.6 本章小结 第8章 MyBatis日志实现 8.1 Java日志体系 8.2 MyBatis日志实现 8.3 本章小结 第9章 动态SQL实现原理 9.1 动态SQL的使用 9.2 SqlSource与BoundSql详解 9.3 LanguageDriver详解 9.4 SqlNode详解 9.5 动态SQL解析过程 9.6 从源码角度分析#{}和${}的区别 9.7 本章小结 第10章 MyBatis插件原理及应用 10.1 MyBatis插件实现原理 10.2 自定义一个分页插件 10.3 自定义慢SQL统计插件 10.4 本章小结 第11章 MyBatis级联映射与懒加载 11.1 MyBatis级联映射详解 11.1.1 准备工作 11.1.2 一对多关联映射 11.1.3 一对一关联映射 11.1.4 Discriminator详解 11.2 MyBatis懒加载机制 11.3 MyBatis级联映射实现原理 11.3.1 ResultMap详解 11.3.2 ResultMap解析过程 11.3.3 级联映射实现原理 11.4 懒加载实现原理 11.5 本章小结 第2篇 MyBatis Spring源码 第12章 MyBatis与Spring整合案例 12.1 准备工作 12.2 MyBatis与Spring整合 12.3 用户注册案例 12.4 本章小结 第13章 MyBatis Spring的实现原理 13.1 Spring中的一些概念 13.2 Spring容器启动过程 13.3 Mapper动态代理对象注册过程 13.4 MyBatis整合Spring事务管理 13.5 本章小结 |