java自学网(www.javazx.com)-java论坛,java电子书推荐:《深入浅出MyBatis技术原理与实战》
; P2 _) Z6 B8 F: g% bjava电子书推荐理由:为了填补这一空白本书主要介绍了Java MyBatis技术。本书详细介绍了MyBatis的基础组成、配置、映射器、动态SQL,教会读者正确使用MyBatis,书中包含大量的实例,使读者可以参考。接着介绍了MyBatis的运行原理和插件开发并配有一个完整的插件例子。
1 P2 F3 d& W2 f; L
; x, s* {4 k6 B- q5 H作者:杨开振 著( K$ R% K: `( p! J* V# D/ y
出版社:电子工业出版社! S2 N* }4 t2 }5 J! n
出版时间:2016年08月
, V4 _( b" Q: x0 K U4 C: _' \. W& b. U/ j- h0 V P
- N( @9 q7 L5 V' z
B! I' x; N0 ?9 N" w- z' `, R- M
2 O4 ~" [- y5 j% F0 J& J! A: f# O# jjava电子书目录:
, |, _ P2 W2 G2 x1 c6 i4 h第1 章 MyBatis 简介.................................................................................................................................. 1
. _7 q0 ?6 H0 G- g/ n8 q' e1.1 传统的JDBC 编程........................................................................................................................ 1
9 A% ^1 a4 B0 Q( S+ k1.2 ORM 模型....................................................................................................................................... 47 K) {6 \1 W! e& c
1.3 Hibernate.................................................................................................................................... 4
* k2 y a9 \4 b8 A! B2 D( g$ L8 D1.4 MyBatis ..................................................................................................................................... 9
7 e$ l! J( C2 q0 L1.5 什么时候用MyBatis....................................................................................................................12" c$ P& ~1 @6 z# A+ Y
第2 章 MyBaits 入门.........................................................................................................................13$ _6 L) X- i' |. i1 Q
2.1 开发环境准备...............................................................................................................................13
1 W% c- i( F$ x; t1 a; I5 z2.1.1 下载MyBatis .........................................................................................................................13 s; X) a! F) k) g( x. s
2.1.2 搭建开发环境........................................................................................................................14
( d" k/ e: E3 V/ |+ ]2.2 MyBatis 的基本构成....................................................................................................................15
5 g9 d3 U3 q% B$ y3 n2.2.1 构建SqlSessionFactory..........................................................................................................15' n5 n, _! O5 B" Q$ g: I& a
2.2.2 创建SqlSession.....................................................................................................................19
# M* L! u8 ^4 m* K' h- v2.2.3 映射器...................................................................................................................................21
- o) J4 h' {% w, e/ R( [$ X. `% Z2.3 生命周期.........................................................................................................................................267 _! ?, r6 D! v- x$ b# x* _
2.3.1 SqlSessionFactoryBuilder.......................................................................................................277 W" Y+ G* P: V! N3 [/ h5 t
2.3.2 SqlSessionFactory..................................................................................................................27
) P5 o) M/ `# c+ V, j; R5 H9 T2.3.3 SqlSession..............................................................................................................................27
, G7 e" O( t, a! V2.3.4 Mapper...................................................................................................................................28
* C+ f5 _, i; F& h) f* L2.4 实例...........................................................................................................................................29
" }2 ]2 Y; V6 s: E; \$ @第3 章 配置.........................................................................................................................................37
0 f% A( T2 H C/ q" s0 Q3.1 properties 元素...............................................................................................................................38
1 |6 K: m* B" I8 C/ `5 T3.1.1 property 子元素......................................................................................................................38
; ?+ o, {9 Z9 f- e# F# ?* ?6 N3.1.2 properties 配置文件...............................................................................................................39. c- L) T3 G& x" i
3.1.3 程序参数传递........................................................................................................................39
) N) r1 n# ?" g* P7 t n5 z3.1.4 优先级...................................................................................................................................40
; I' z" I2 ?% E) H3.2 设置.........................................................................................................................................41! s' V& G5 [% P" L6 w) P t
3.3 别名........................................................................................................................................44; e, B! x2 E; P, ~( B+ E, b2 U
( v) B3 ?& \8 h( C! A3.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 @8 E5 l8 [. w$ N4 ~5 Q1 T) b4.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 2 ^5 y) Q) ?2 Y6 U1 U
. W: s8 `2 y$ s9 [, p- u
百度网盘下载地址链接(百度云):java自学网(javazx.com)深入浅出MyBatis技术原理与实战 PDF 高清 电子书 百度云.rar【密码回帖可见】; |# n, g6 G( ]! h# V
0 I! D7 M6 D. `6 \* a* J2 \# u$ I9 X( _
. v1 G: D! [5 `; J1 ]- }, g |