|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《MyBatis 3源码深度解析》5 _& f- N0 q. F# L. e/ A* i- p
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开源项目感兴趣的读者阅读。
6 O, ]3 ?4 c) Z" R1 K
" a0 r; ~9 C2 [' X作者:江荣波
2 u# o8 `2 W+ }4 y2 N+ q; v; _出版社:清华大学出版社
: t8 a1 F+ |2 B2 J0 P出版时间:2019年09月 $ y c, h# N3 O& `2 w) v7 f6 J
书籍价格:69.00元
) I- o2 w5 O d# K5 e, n6 k2 q! R, Z6 v8 U
% s1 r i N+ u* k, W/ J" D7 h' R" s% B, O$ ~5 B, H6 g
java电子书目录:6 T* f" z; o/ n/ F' \
第1篇 MyBatis 3源码 第1章 搭建MyBatis源码环境 3
) X" i6 A0 W1 H% A. c0 o: a1.1 MYBATIS 3简介 3- t/ V. x2 E% R4 _4 x/ V1 _
1.2 环境准备 47 H$ j* t; V% N% Y; ]4 o
1.3 获取MYBATIS源码 4 p" f! D7 R& y; q' I/ W
1.4 导入MYBATIS源码到IDE 6$ ~' @9 C, d3 X
1.5 HSQLDB数据库简介 93 K$ e" y. ~( a1 e+ ]9 @6 B& \" ^
1.6 本章小结 11
2 u6 r% L" T, J8 G7 |9 i/ s第2章 JDBC规范详解 13
2 @. h" A; m% y+ j+ M( Q# v2.1 JDBC API简介 13" I8 V: _$ w$ ]+ X- `2 M
2.1.1 建立数据源连接 14 s, `+ |7 ?0 \- a
2.1.2 执行SQL语句 15
" z; G3 _7 b3 M3 r* _- n2.1.3 处理SQL执行结果 16; m6 Q( q% F E# G
2.1.4 使用JDBC操作数据库 167 X; V& S( Z7 m1 t2 J; `: q
2.2 JDBC API中的类与接口 17
: @- @9 [( I7 d+ k2.2.1 java.sql包详解 179 O5 W3 c4 D- H0 _( V5 M+ }( s
2.2.2 javax.sql包详解 20' @7 s! k b8 Q1 q
2.3 CONNECTION详解 24% y7 i9 ^4 G- ?% s( _, b4 _
2.3.1 JDBC驱动类型 24
" F/ P3 F; ^- e' f2.3.2 java.sql.Driver接口 26
& Q' N. O# i8 g6 T. w2.3.3 Java SPI机制简介 27
0 z4 I' \' ~. @7 Q( l% K2 g2.3.4 java.sql.DriverAction接口 292 g' W- |3 F' w" m9 f j+ j g1 Y
2.3.5 java.sql.DriverManager类 29
6 T: A' I! O& G1 e. W) t9 {2.3.6 javax.sql.DataSource接口 315 v7 m, V; |* B) r/ c
2.3.7 使用JNDI API增强应用的可移植性 320 e7 v- {* H+ `
2.3.8 关闭Connection对象 34
; ?' Y+ M& J+ U7 o1 N3 ]. i2.4 STATEMENT详解 35: p( u6 [/ a9 |' R9 \3 J- a
2.4.1 java.sql.Statement接口 35& j0 B% U o! e$ a* R
2.4.2 java.sql.PreparedStatement接口 39
5 J/ |/ M1 p3 d, @3 W8 y2 [2.4.3 java.sql.CallableStatement接口 434 }% W& \' S( O& X5 r" |
2.4.4 获取自增长的键值 44: b0 x. _0 D' @ q9 X+ b
2.5 RESULTSET详解 459 U8 f$ N0 k e2 W" c
2.5.1 ResultSet类型 45! e/ ^: L, O! o/ T6 \' a, F
2.5.2 ResultSet并行性 46' M8 N/ @" w: v' n* m, U
2.5.3 ResultSet可保持性 46
; W- _2 H7 R* O9 _2.5.4 ResultSet属性设置 47
# _: Y( R% d# v& j: b: n$ E2.5.5 ResultSet游标移动 47
9 [6 }" L! V; I/ m2.5.6 修改ResultSet对象 48( @( v Y# ?7 V2 X$ t" I W
2.5.7 关闭ResultSet对象 50
& R, c3 f Q5 ]2.6 DATABASEMETADATA详解 51
( @- a6 h; g: \' g! l' b N' a6 W" i2.6.1 创建DatabaseMetaData对象 51
& t+ z9 J) S }) ^3 O5 [7 t8 @2.6.2 获取数据源的基本信息 51! }* E8 g3 l7 C) W1 f+ ]- q( _
2.6.3 获取数据源支持特性 53
6 o% h" O. C7 R( ?' T# D, m- j2.6.4 获取数据源限制 53
9 L2 D& E) e7 T0 h6 r0 b2.6.5 获取SQL对象及属性 54
- Q( X! n* p! U, h2.6.6 获取事务支持 54
+ l) u A+ ] t8 E, ?& R/ S2.7 JDBC事务 54* Y/ E+ c2 m3 r9 R4 G! n$ `+ a
2.7.1 事务边界与自动提交 55
3 E1 M) W% j5 m4 f2.7.2 事务隔离级别 55, Y5 L4 H6 O& K6 l# @# D1 V0 [
2.7.3 事务中的保存点 56
! a6 n) z# n( n2.8 本章小结 57; f2 d$ n1 y. h% e& q+ y
第3章 MyBatis常用工具类 58
* E# K' C: v( ? k, M% ^3.1 使用SQL类生成语句 58 x d5 b/ m7 x6 n* ^
3.2 使用SCRIPTRUNNER执行脚本 64
: O5 O* {; }3 m/ x, z3.3 使用SQLRUNNER操作数据库 67/ {. u# w; ^2 a/ I% z& F% z% b
3.4 METAOBJECT详解 71- w3 Z- ?* i! p' _, c# M6 ~7 w
3.5 METACLASS详解 72
* y8 x0 ]! L: f$ L- `- U( B3.6 OBJECTFACTORY详解 73
5 ~$ I3 X0 e# b+ d/ Q3.7 PROXYFACTORY详解 74+ ~. k$ G* T3 K7 f# w. K
3.8 本章小结 75
- C! I% B) ^* [/ w- i- E% y第4章 MyBatis核心组件介绍 76; z8 q- S! C" p' X- H! T+ E
4.1 使用MYBATIS操作数据库 769 h# ~9 ]. v6 w& s
4.2 MYBATIS核心组件 80+ T6 ]! G/ \, ]) t$ K7 T
4.3 CONFIGURATION详解 82
- M) t2 B3 t9 J) s4.4 EXECUTOR详解 88% G$ H' q# X! Z
4.5 MAPPEDSTATEMENT详解 90! ~; R5 ^' X1 O1 M l
4.6 STATEMENTHANDLER详解 92* N3 f+ m1 A: c& c8 i7 a
4.7 TYPEHANDLER详解 945 ~( D' {* Z6 l( r
4.8 PARAMETERHANDLER详解 97
9 J6 Q. ~% q+ v& }# l& M4.9 RESULTSETHANDLER详解 98- P( M e/ }5 U6 Z8 f& O
4.10 本章小结 100) B. F2 g. e) t) K# g$ G
第5章 SqlSession的创建过程 101
' u7 A% e# R0 R/ |5.1 XPATH方式解析XML文件 101
' ~5 _+ K- p }0 B, c7 A5.2 CONFIGURATION实例创建过程 104
+ Q5 s) c+ |) D5.3 SQLSESSION实例创建过程 1085 G) y6 }( \, R) _2 N( \
5.4 本章小结 1090 ?- z8 `6 ^% F P' x
第6章 SqlSession执行Mapper过程 110- \4 p t1 j7 ]2 N1 [2 G7 n. H
6.1 MAPPER接口的注册过程 110
9 B9 c) J, w I& t6 h6 U& {6.2 MAPPEDSTATEMENT注册过程 114
$ e/ `! R p$ c, M. F* ]( O6.3 MAPPER方法调用过程详解 119
1 Y- y' R2 v+ A3 ~" a: [0 o6 E6 y6.4 SQLSESSION执行MAPPER过程 126
7 ]. _" l6 v" o o& z) ~6.5 本章小结 130 javazx.com
* y$ C" \* `4 |( o8 Q第7章 MyBatis缓存 131
7 w4 F: R5 @4 H7 p, ?7.1 MYBATIS缓存的使用 131
7 D8 E0 v) w8 w- i& p P3 p7.2 MYBATIS缓存实现类 132+ \ [" u8 g2 ]' f$ }: n
7.3 MYBATIS一级缓存实现原理 135
1 w9 T$ Z3 X' m I0 [- e( q, a4 @7.4 MYBATIS二级缓存实现原理 138/ e' U3 D p; u& s' E$ G: X
7.5 MYBATIS使用REDIS缓存 1422 A8 K/ c/ ^) s' C* y
7.6 本章小结 1458 R `( q0 f3 N8 F5 J5 O, E
第8章 MyBatis日志实现 1460 T/ ^) d: q+ [! z9 r6 I
8.1 JAVA日志体系 146
* [) Y$ K/ g# F9 H8.2 MYBATIS日志实现 1494 u+ L0 p( e" V5 d( _
8.3 本章小结 155
* j0 v6 g1 Q; ^2 Q8 ?第9章 动态SQL实现原理 156
' L- G! [: N2 V/ z: m# C0 P9.1 动态SQL的使用 1565 P- g6 _; F7 i; a0 \
9.2 SQLSOURCE与BOUNDSQL详解 1593 Q. H/ h- K1 }; w$ {
9.3 LANGUAGEDRIVER详解 161 k: s7 Y) W# d2 q: r
9.4 SQLNODE详解 164$ G: U0 G. S& H1 e
9.5 动态SQL解析过程 169
& }; W+ Q D+ a( q- m9.6 从源码角度分析#{}和${}的区别 179
- Q) x* F: Q$ Y6 O+ f, H' Y6 Z9.7 本章小结 182
: X& h7 p' e/ f& i0 G- b, v5 E第10章 MyBatis插件原理及应用 184
9 B; E+ X! W" f0 j& r7 @& H10.1 MYBATIS插件实现原理 184
0 ~7 U P# ~# c P& A10.2 自定义一个分页插件 193
6 t2 E/ _5 v9 i) R. |; ~10.3 自定义慢SQL统计插件 198/ y7 V% @; Y% ^/ t* ^
10.4 本章小结 200; C) b% l1 f& x- Z/ N
第11章 MyBatis级联映射与懒加载 201
( _% D8 ? c2 O# e11.1 MYBATIS级联映射详解 201
5 Y, o. w1 g! h) v4 \' U: m2 R11.1.1 准备工作 201
) _. }! H/ ^5 w( t11.1.2 一对多关联映射 205
8 P$ T, G m' j9 r: P7 o: z11.1.3 一对一关联映射 2067 X% b3 u! W7 M5 r
11.1.4 Discriminator详解 209
% F8 I1 Z5 J# B4 R; Z11.2 MYBATIS懒加载机制 210. p' u* {0 l- f9 |3 s; y' F
11.3 MYBATIS级联映射实现原理 212) Y$ Z V1 @( v# |0 w! y8 m
11.3.1 ResultMap详解 212& H! S: T- B# b: ?6 [
11.3.2 ResultMap解析过程 213% I/ \( M1 g( V+ e' {1 ^
11.3.3 级联映射实现原理 2181 n! |- v/ v, L" t- b
11.4 懒加载实现原理 225
2 @3 Y7 h* y9 N/ r0 E11.5 本章小结 230 第2篇 MyBatis Spring源码 第12章 MyBatis与Spring整合案例 233
# K5 r; f1 r/ j2 @1 r. V3 l12.1 准备工作 233. n# y1 V _8 x0 L6 l
12.2 MYBATIS与SPRING整合 234/ I: f$ P! O9 q& S* S u0 ]
12.3 用户注册案例 2367 |( D4 a# k$ e/ C, g5 u; X( M
12.4 本章小结 239
- @% a: a2 Z, Z+ G第13章 MyBatis Spring的实现原理 240
5 K9 i8 D/ V" J$ \3 H v/ r! D( H: R13.1 SPRING中的一些概念 2405 \7 P6 l4 }* T0 d: v
13.2 SPRING容器启动过程 243
* n: |% ^& S3 A$ w* A/ ]* o& H" m% |13.3 MAPPER动态代理对象注册过程 244
& a4 d1 P; e3 i( N6 U. ~13.4 MYBATIS整合SPRING事务管理 2488 V4 K( L/ [. E3 c/ C$ [3 D
13.5 本章小结 253 - l" t# k/ F) M5 }4 `9 M
Java资料百度网盘下载地址链接(百度云):MyBatis 3源码深度解析.pdf【密码回帖可见】
2 R( w. v; [1 n, X" K
0 y" d; c, M( {* F/ p% B! i! x, o6 {- _
! j0 s+ @; T) a* }8 S
|
|