欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

深入浅出MyBatis技术原理与实战

收藏
  • 大小:163.9 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
深入浅出MyBatis技术原理与实战
作者:杨开振
出版时间:2016
内容简介
  随着大数据时代的到来,Java 持久层框架MyBatis 已经成为越来越多企业的选择。遗憾的是,时至今日国内依然没有一本讨论MyBatis 的书,这增加了初学者的学习难度,初学者往往只能基于零星的案例来学习MyBatis,无法系统地掌握MyBatis,更不用说精通了。《深入浅出MyBatis 技术原理与实战》是笔者通过大量实践和研究源码后创作而成的,是国内系统介绍MyBatis 著作的先河。 《深入浅出MyBatis技术原理与实战》分为3 个部分,依次介绍了MyBatis 的基础应用、原理及插件开发、实践应用,使读者能够由浅入深、循序渐进地掌握MyBatis 技术。首先,《深入浅出MyBatis技术原理与实战》在官方API 的基础上完善了许多重要的论述和实例,并且给出了实操建议,帮助读者正确掌握MyBatis。其次,《深入浅出MyBatis技术原理与实战》详细讲述了MyBatis 的内部运行原理,并全面讨论了插件的开发。最后,本着学以致用的原则,笔者阐述了MyBatis-Spring 项目和一些MyBatis 开发常见的实例,使读者能够学得会,用得好。 《深入浅出MyBatis技术原理与实战》不是一本味同嚼蜡的理论专著,而是一本MyBatis 的实践指南,无论你是Java 程序员、MyBatis开发者,还是Java 持久层框架的研究者,你都能从本书中收获知识。
目录
第1 章 MyBatis 简介 1 1.1 传统的JDBC 编程 1 1.2 ORM 模型 4 1.3 Hibernate 4 1.4 MyBatis 9 1.5 什么时候用MyBatis 12 第2 章 MyBaits 入门 13 2.1 开发环境准备.13 2.1.1 下载MyBatis 13 2.1.2 搭建开发环境 14 2.2 MyBatis 的基本构成 15 2.2.1 构建SqlSessionFactory 15 2.2.2 创建SqlSession19 2.2.3 映射器 21 2.3 生命周期.26 2.3.1 SqlSessionFactoryBuilder 27 2.3.2 SqlSessionFactory 27 2.3.3 SqlSession 27 2.3.4 Mapper 28 2.4 实例 28 第3 章 配置 37 3.1 properties 元素 38 3.1.1 property 子元素.38 3.1.2 properties 配置文件 39 3.1.3 程序参数传递 39 3.1.4 优先级 40 3.2 设置 41 3.3 别名 44 3.3.1 系统定义别名 44 3.3.2 自定义别名 47 3.4 typeHandler 类型处理器.48 3.4.1 系统定义的typeHandler 49 3.4.2 自定义typeHandler 51 3.4.3 枚举类型typeHandler55 3.5 ObjectFactory 62 3.6 插件 65 3.7 environments 配置环境 65 3.7.1 概述65 3.7.2 数据库事务 66 3.7.3 数据源 67 3.8 databaseIdProvider 数据库厂商标识 68 3.8.1 使用系统默认规则 68 3.8.2 不使用系统默认规则69 3.9 引入映射器的方法 71 第4 章 映射器 73 4.1 映射器的主要元素 73 4.2 select 元素 74 4.2.1 概述74 4.2.2 简易数据类型的例子75 4.2.3 自动映射.76 4.2.4 传递多个参数 78 4.2.5 使用resultMap 映射结果集 81 4.3 insert 元素 82 4.3.1 概述82 4.3.2 主键回填和自定义 83 4.4 update 元素和delete 元素 85 4.5 参数 85 4.5.1 参数配置.86 4.5.2 存储过程支持 86 4.5.3 特殊字符串替换和处理(#和$) 87 4.6 sql 元素 88 4.7 resultMap 结果映射集 89 4.7.1 resultMap 元素的构成 89 4.7.2 使用map 存储结果集91 4.7.3 使用POJO 存储结果集 91 4.7.4 级联92 4.8 缓存cache 113 4.8.1 系统缓存(一级缓存和二级缓存) 113 4.8.2 自定义缓存 117 第5 章 动态SQL 119 5.1 概述119 5.2 if 元素 120 5.3 choose、when、otherwise 元素 120 5.4 trim、where、set 元素 121 5.5 foreach 元素 123 5.6 test 的属性 124 5.7 bind 元素125 第6 章 MyBatis 的解析和运行原理 127 6.1 涉及的技术难点简介 128 6.1.1 反射技术129 6.1.2 JDK 动态代理.130 6.1.3 CGLIB 动态代理 133 6.2 构建SqlSessionFactory 过程134 6.2.1 构建Configuration 135 6.2.2 映射器的内部组成 136 6.2.3 构建SqlSessionFactory 138 6.3 SqlSession 运行过程 138 6.3.1 映射器的动态代理 138 6.3.2 SqlSession 下的四大对象.142 6.3.3 SqlSession 运行总结150 第7 章 插件.152 7.1 插件接口152 7.2 插件的初始化153 7.3 插件的代理和反射设计154 7.4 常用的工具类——MetaObject 157 7.5 插件开发过程和实例 159 7.5.1 确定需要拦截的签名 159 7.5.2 实现拦截方法.161 7.5.3 配置和运行 162 7.5.4 插件实例163 7.6 总结166 第8 章 MyBatis-Spring 168 8.1 Spring 的基础知识.168 8.1.1 Spring IOC 基础 169 8.1.2 Spring AOP 基础 171 8.1.3 Spring 事务管理 173 8.1.4 Spring MVC 基础 179 8.2 MyBatis-Spring 应用 181 8.2.1 概述 181 8.2.2 配置SqlSessionFactory 182 8.2.3 配置SqlSessionTemplate 184 8.2.4 配置Mapper 188 8.2.5 配置事务190 8.3 实例191 8.3.1 环境准备191 8.3.2 文件目录193 8.3.3 Spring 配置文件 194 8.3.4 MyBatis 框架相关配置 198 8.3.5 配置服务层 205 8.3.6 编写控制器 209 8.3.7 测试 210 8.4 总结210 第9 章 实用的场景 212 9.1 数据库BLOB 字段读写 212 9.2 批量更新215 9.3 调用存储过程217 9.3.1 存储过程in 和out 参数的使用217 9.3.2 存储过程游标.220 9.4 分表225 9.5 分页227 9.5.1 RowBounds 分页 227 9.5.2 插件分页229 9.6 上传文件到服务器239 9.7 在映射中使用枚举247 9.8 多对多级联 249 9.9 总结253 附录A 数据库模型描述与级联学生关系建表语句.254
下载地址