深入浅出MyBatis技术原理与实战[PDF][81.06MB]
内容简介
当前已经是移动互联网时代,Java持久框架Hibernate没有办法适应高性能,灵活,大数据,可优化等要求,这时MyBatis就进入了我们的视野,随着移动互联网应用的持续发酵,Spring MyBatis的应用已在Java互联网平台上得到大量的使用,单单在51job招聘网站中MyBatis在全国也有近万个岗位的需求,加上未在51job发布的企业,可见需求相当大,而在当今市场上却没有任何一本介绍MyBatis的书籍,为了填补这一空白本书主要介绍了Java MyBatis技术。本书详细介绍了MyBatis的基础组成、配置、映射器、动态SQL,教会读者正确使用MyBatis,书中包含大量的实例,使读者可以参考。接着介绍了MyBatis的运行原理和插件开发并配有一个完整的插件例子。为了增加实用性,作者还介绍了MyBatis-Spring项目,使得读者能够学习到如何把MyBatis整合到Spring项目中,最后作者还将讲解一些常用实例,比如Blob字段、文件上传、批量、动态表名等实用场景,让读者能够参考和注意一些细节的问题。本书从基础讲到底层,注重实战,原理,照顾到初中高三类读者,可以作为MyBatis的学习教程和参考技术丛书。
目录
第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 创建SqlSession.....................................................................................................................19
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 实例...........................................................................................................................................29
第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 枚举类型typeHandler............................................................................................................55
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
文档截图

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1尚硅谷前端学科全套视频[AVI][130.72GB]
- 2深入理解php:高级技巧、面向对象与核心技术(原书第3版) 【PDF】
- 3开发高质量PHP框架与应用的实际案例解析【PDF】
- 4响应式Web图形设计 ([美]Christopher Schmitt) 中文【PDF】
- 5响应式Web设计:HTML5和CSS3实践指南【PDF】
- 6响应式Web设计:HTML5和CSS3实战 第2版 (本·弗莱恩) 中文【PDF】
- 7Axure RP8 实战手册 网站和APP原型制作案例精粹(小楼一夜听春语) 试读版【PDF】【15.4MB】
- 8[马上学Android]安卓开发视频教程
- 9Android开发视频教程
- 10PHP100视频教程
- 1Java编程思想On Java 8[PDF][中文][英文][源码][15.31MB]
- 2PostgreSQL实战 (谭峰等著)【PDF】【221.29MB】
- 3【机器学习】菜菜的sklearn课堂(1-12全课)[PDF][源码][157.45MB]
- 4加密与解密(第4版)[PDF][光盘源码][1.15GB]
- 5UNREAL ENGINE 4蓝图完全学习教程[PDF][66.67MB]
- 6Qt 5.9 C++开发指南[PDF][276.26MB]
- 7Python数据分析与应用PPT、教案、实训数据、习题答案[PPT][142.49MB]
- 8数据中台:让数据用起来[PDF][12.80MB]
- 9计算机网络:自顶向下方法(第7版) 【PDF】【英文】【17.46MB】
- 10[马上学Android]安卓开发视频教程
