|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《MyBatis 3源码深度解析》3 u- Z) I2 H( H% f2 M
java电子书推荐理由:本书从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开源项目感兴趣的读者阅读。
# m/ e3 B& L- H# s, m. ?, \; p( f1 w% I4 P
作者:江荣波
$ G! \- U, ^ m* L) N出版社:清华大学出版社
6 z1 z5 t8 Q# w0 S( u6 u出版时间:2019年09月 , d( p7 b, N0 A& H6 @
书籍价格:69.00元3 D: K) F( z; [) f% t: X, W
9 x: c3 t/ [$ M# M( x
, P; _. I4 ?* L* @% |( |! E
: C, a/ g$ W- d5 g% l0 {
java电子书目录:/ B: z" _, ]3 e l3 V+ b
第1篇 MyBatis 3源码 第1章 搭建MyBatis源码环境 3/ ~0 j' w$ V1 B: V
1.1 MYBATIS 3简介 3
* {$ |# @' J7 C g K1.2 环境准备 41 n, r, m3 L1 g# H) |( B! a
1.3 获取MYBATIS源码 4 W. v Y# C9 m! |
1.4 导入MYBATIS源码到IDE 6
" |1 e% ^; U( |1.5 HSQLDB数据库简介 9; E, c( L$ H: I% h) @
1.6 本章小结 11 E. G+ F5 Q4 Y0 t% I
第2章 JDBC规范详解 13+ F4 x. f8 H8 k7 g: _* S
2.1 JDBC API简介 13/ R3 I! U$ ^* }. J; E0 o
2.1.1 建立数据源连接 14
4 Z- E- F7 |$ d) B1 ]2.1.2 执行SQL语句 15
c+ M2 m# v- l* S2.1.3 处理SQL执行结果 16/ U/ n7 z% q- `# m4 b9 _$ @
2.1.4 使用JDBC操作数据库 16: z; K, d* O3 _8 a3 ?
2.2 JDBC API中的类与接口 17' x5 R3 q ]( R9 G: a7 h% u: W
2.2.1 java.sql包详解 17
/ E+ _! b$ P o- t: R" x C2.2.2 javax.sql包详解 204 H5 {" y+ ~# S
2.3 CONNECTION详解 24' {) ^$ D* y4 t0 g$ W5 ?; t
2.3.1 JDBC驱动类型 24; S. a2 z% `' {9 W# a0 l
2.3.2 java.sql.Driver接口 26
1 s- j% D4 k0 s2 F2 @7 I2.3.3 Java SPI机制简介 27
% t# M. H5 ]+ @8 s$ Y% Z4 d2.3.4 java.sql.DriverAction接口 29! e* j: j) m. }0 b" t% Q9 g
2.3.5 java.sql.DriverManager类 29, t: m1 C. K! R' E! D9 A
2.3.6 javax.sql.DataSource接口 31( g' P, |# J4 z1 M5 C: j. E% d
2.3.7 使用JNDI API增强应用的可移植性 32+ p; Z1 S) w$ `- F; i* P: E
2.3.8 关闭Connection对象 34
8 J/ f- |7 b, }+ p2.4 STATEMENT详解 35# U7 Y: h* c) r- ^( y9 ]6 n
2.4.1 java.sql.Statement接口 35
6 D( t2 Y) X7 a: h0 |( K9 Y2.4.2 java.sql.PreparedStatement接口 390 C3 j4 V. |% x& {
2.4.3 java.sql.CallableStatement接口 43
, G6 _/ b: z) }& G6 M& J" |. i2.4.4 获取自增长的键值 44; E0 E* A# T; C# G% m
2.5 RESULTSET详解 45% e3 ~ I4 L) [' ?) m2 K
2.5.1 ResultSet类型 45
- L r5 O2 }4 z. h& @+ m2.5.2 ResultSet并行性 46
9 ~$ {( \; f, m& Z7 s6 |2.5.3 ResultSet可保持性 46
/ v: j8 ?2 V& @! q2.5.4 ResultSet属性设置 47
' g* p c4 W* D6 T9 [) L2.5.5 ResultSet游标移动 47; u& ], k4 s1 |; t- E2 E/ _4 o
2.5.6 修改ResultSet对象 481 O* l$ v, m, x- ]5 M
2.5.7 关闭ResultSet对象 50, C3 j. b E0 I" Y d9 L
2.6 DATABASEMETADATA详解 51( h; Z2 s0 I) Y6 n/ f4 ?8 c5 m
2.6.1 创建DatabaseMetaData对象 518 [% X1 {7 \9 S4 I
2.6.2 获取数据源的基本信息 51: k8 L3 l* ~9 ]
2.6.3 获取数据源支持特性 531 C1 K, ]6 J* h8 o+ l6 u
2.6.4 获取数据源限制 53! d, K& u& G& @+ \. \# j# D
2.6.5 获取SQL对象及属性 54
+ Y9 H2 U" f/ f4 m4 i2 U2.6.6 获取事务支持 54
9 R1 j) V) r; e# I$ Z2.7 JDBC事务 54
& Z- ~+ f: o; W* M `0 P2.7.1 事务边界与自动提交 55
( [+ w8 _: R( ^% `2.7.2 事务隔离级别 55% r$ ^9 f8 G0 V6 t3 t, p( o
2.7.3 事务中的保存点 56
3 M0 d; I( H- W1 R: X8 I% b2.8 本章小结 57% M! w3 r4 F1 n/ B* }
第3章 MyBatis常用工具类 58
1 F- X7 K3 v2 U3 |3.1 使用SQL类生成语句 58( Q7 H% ]5 o0 j: ~
3.2 使用SCRIPTRUNNER执行脚本 64
! P6 a- w R6 R+ V \- V3 i3.3 使用SQLRUNNER操作数据库 673 \+ c/ P- t1 V2 o6 S, E0 a
3.4 METAOBJECT详解 71
# q) e/ ]4 V6 m4 B# p3.5 METACLASS详解 72' d+ |& \- N$ ]! W0 U
3.6 OBJECTFACTORY详解 73
/ Y$ D3 F! |. }% }3.7 PROXYFACTORY详解 745 b x4 F" d9 `1 Q7 ]5 o
3.8 本章小结 75
* q1 e7 m/ B8 w第4章 MyBatis核心组件介绍 760 |7 i, f0 y' t. a" A7 E( |6 X
4.1 使用MYBATIS操作数据库 76
. N7 }1 d1 o* }0 ^0 k# q+ P) g4.2 MYBATIS核心组件 80
" g% f) [# c3 ~; j, h4.3 CONFIGURATION详解 826 y) s0 c7 K8 d- p4 _
4.4 EXECUTOR详解 88
. \; s+ \2 f% t; m! t/ N4.5 MAPPEDSTATEMENT详解 90
8 ^! t" T% X) k$ Q+ p4.6 STATEMENTHANDLER详解 92
# G5 D& A8 c) g% K& g# {4.7 TYPEHANDLER详解 947 C4 N8 [3 }0 f4 p" k2 b& X7 J- p
4.8 PARAMETERHANDLER详解 97
" m4 M% `0 e4 ]7 W6 @4.9 RESULTSETHANDLER详解 984 g0 s o# _& V$ ^" z6 j9 K
4.10 本章小结 100# H0 N: D Z- [& X- I
第5章 SqlSession的创建过程 101
& Q7 R" K! R o# Q! c5.1 XPATH方式解析XML文件 1013 @6 t4 J* b ]
5.2 CONFIGURATION实例创建过程 104
u$ d1 p" n4 [: N; i5.3 SQLSESSION实例创建过程 108
! p/ T, o- e0 W; ?% a% E/ p [" W8 ?5.4 本章小结 109$ \! H; W6 U* D( G* `; u) P' ^
第6章 SqlSession执行Mapper过程 110
/ S$ p4 O/ J( p* C7 w2 c" O6.1 MAPPER接口的注册过程 110
& N3 L! E5 [" ~ r e6.2 MAPPEDSTATEMENT注册过程 114
. A7 E5 I3 l2 Y2 t; j) O$ C6.3 MAPPER方法调用过程详解 119
5 J# d) M# H8 V* g1 r' L9 Y$ G5 z( Q6.4 SQLSESSION执行MAPPER过程 1265 r( q4 c2 B! u7 }0 h
6.5 本章小结 130 javazx.com
0 h$ o4 F* h- S7 m; H2 x, l1 H% r第7章 MyBatis缓存 131
- S2 I9 w7 }" _* x$ \3 w7.1 MYBATIS缓存的使用 131
7 `* o6 G% z5 J3 L7.2 MYBATIS缓存实现类 132 F* \3 A/ t4 I& V" c" L
7.3 MYBATIS一级缓存实现原理 135
) \$ W' D: H& u% i7.4 MYBATIS二级缓存实现原理 138# V- M8 N' }$ ^! ~9 {* v3 ^# p
7.5 MYBATIS使用REDIS缓存 1428 Q, a# L; V6 k! X- u
7.6 本章小结 145
( R4 O* n N, |第8章 MyBatis日志实现 146, J5 K/ v* L7 g8 ~! z/ B- H/ D
8.1 JAVA日志体系 146
- V: [: S; Q' L9 w% H8.2 MYBATIS日志实现 149
7 E d' e0 W0 z8 `8.3 本章小结 155
4 ^3 u! x. G" M; o$ V第9章 动态SQL实现原理 156
4 x4 F- m7 C8 X }* w, t$ f9.1 动态SQL的使用 156
% O: \0 G9 \5 H& M9.2 SQLSOURCE与BOUNDSQL详解 159
% J9 d; o4 }/ S+ V+ T9.3 LANGUAGEDRIVER详解 161% L+ ]. y! X; [
9.4 SQLNODE详解 1641 q0 m& `# m8 @9 I& g
9.5 动态SQL解析过程 169
( N# r6 p* K$ {7 @# b2 S9.6 从源码角度分析#{}和${}的区别 179: ^# }% [: R% @9 c _4 s3 b Y: R0 i7 _
9.7 本章小结 182
2 O+ k2 [1 U1 {0 O w第10章 MyBatis插件原理及应用 184
- v9 T6 V* A; x* F5 [10.1 MYBATIS插件实现原理 184( [# F4 \* t/ g% B/ K! c
10.2 自定义一个分页插件 193
6 ?/ C8 w1 }$ H10.3 自定义慢SQL统计插件 198# x! j+ p& e7 t- M' n% I3 F/ A7 R
10.4 本章小结 200' R) q/ m( x0 ^7 z# _7 |% v) p
第11章 MyBatis级联映射与懒加载 2012 `% R }# i7 s" T+ H
11.1 MYBATIS级联映射详解 201
/ k4 u6 ?3 D* n11.1.1 准备工作 201
7 F1 @' e; l8 P11.1.2 一对多关联映射 2054 C& F, h5 L1 b! M1 R) w5 T
11.1.3 一对一关联映射 206
% @# W4 G9 Y V) O11.1.4 Discriminator详解 209( z/ E' Z6 Y4 w) U5 p1 s
11.2 MYBATIS懒加载机制 210) l. \; A3 w, }2 m8 y, ?' |7 }/ T
11.3 MYBATIS级联映射实现原理 212
6 e( E L# l9 t11.3.1 ResultMap详解 212
4 w$ ^, g+ O1 C7 C11.3.2 ResultMap解析过程 213* }5 A- o" u8 U; m" X
11.3.3 级联映射实现原理 218
5 x- n- {* m$ Z3 S0 S0 h% S$ }11.4 懒加载实现原理 225% J/ r, c- @' n; J q, ]
11.5 本章小结 230 第2篇 MyBatis Spring源码 第12章 MyBatis与Spring整合案例 233
( i9 c1 s. w4 `$ o3 ^9 E {- B# K8 Z12.1 准备工作 233
( E4 }8 d7 B9 n4 l- @* E5 }' ^9 H12.2 MYBATIS与SPRING整合 234. P" e/ {( r9 {: H& z, j
12.3 用户注册案例 2365 z m' H1 @' X% u/ s! K
12.4 本章小结 239
; w( G7 t! U y+ d第13章 MyBatis Spring的实现原理 240/ t! s/ h+ g8 ~& x
13.1 SPRING中的一些概念 240, s- Z+ l; |" ~- C7 Q9 g. _
13.2 SPRING容器启动过程 243
0 W9 t8 F. N C8 [/ M13.3 MAPPER动态代理对象注册过程 244. P, w2 L- N$ }3 K7 i
13.4 MYBATIS整合SPRING事务管理 248 j; n5 o9 n- t" M
13.5 本章小结 253
b; @. ~6 p1 X7 q# BJava资料百度网盘下载地址链接(百度云):MyBatis 3源码深度解析.pdf【密码回帖可见】
5 |* ]& r3 a& Q5 O% ?
- X: r( b* ~2 ]$ g
% Y3 Q3 w# I' O7 L' O
# p% n/ ~* N2 W3 B( I0 X, j! R |
|