[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

  •  文化

  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

     保健/养生
     体育/运动
     手工/DIY
     休闲/爱好
     英文原版书
     港台图书
     研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学
  • 通用源碼閱讀指導書——MyBatis源碼詳解
    該商品所屬分類:計算機/網絡 -> 操作繫統/繫統開發
    【市場價】
    1104-1600
    【優惠價】
    690-1000
    【作者】 易哥 
    【所屬類別】 圖書  計算機/網絡  操作繫統/繫統開發  繫統開發 
    【出版社】電子工業出版社 
    【ISBN】9787121391460
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:16開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787121391460
    作者:易哥

    出版社:電子工業出版社
    出版時間:2020年07月 

        
        
    "

    產品特色

    內容簡介

    本書以開源軟件MyBatis的源碼為例,講述程序源碼閱讀的流程、方法、技巧。本書先介紹MyBatis的發展背景與使用方法讓讀者對MyBatis建立概括性的認識,繼而逐步深入剖析MyBatis的源碼。並在剖析MyBatis源碼的過程講述源碼中所涉及到的編程語言知識、設計模式、架構技巧。*終使得讀者在詳細了解MyBatis源碼的同時掌握源碼閱讀的基本能力。

    作者簡介

    易哥,畢業於浙江大學、山東大學,高級軟件繫統架構師、網絡工程師、數據庫工程師、軟件測試工程師、注冊電氣工程師。在校成績前1%,獲得國家獎學金兩次,一等獎學金四次,科技創新大賽一等獎三次,以及五四青年科學獎等。主要科研方向為機器學習、分布式算法、容錯算法在無線傳感網絡中的應用,相關論文獲得IEEE通信協會論文獎。曾擔任網站技術部門負責人,具有豐富的互聯網開發經驗。先後設計和實現了眾多繫統和平臺,也是活躍的開源開發者。現專注軟件繫統架構設計與後端開發,著有書籍《通用源碼閱讀指導書》《高性能架構之道》等。

    目錄
    第1篇 背景介紹
    第1章 源碼閱讀 2
    1.1 源碼閱讀的意義 2
    1.2 源碼閱讀的方法 2
    1.3 開源軟件 3
    1.4 MyBatis源碼 4
    1.5 本書結構 5
    1.5.1 背景知識 5
    1.5.2 文件的指代 5
    1.5.3 方法的指代 8
    第2章 MyBatis概述 10
    2.1 背景介紹 10
    2.1.1 傳統數據庫連接 10
    2.1.2 ORM框架 11

    第1篇 背景介紹
    第1章 源碼閱讀 2
    1.1 源碼閱讀的意義 2
    1.2 源碼閱讀的方法 2
    1.3 開源軟件 3
    1.4 MyBatis源碼 4
    1.5 本書結構 5
    1.5.1 背景知識 5
    1.5.2 文件的指代 5
    1.5.3 方法的指代 8
    第2章 MyBatis概述 10
    2.1 背景介紹 10
    2.1.1 傳統數據庫連接 10
    2.1.2 ORM框架 11
    2.1.3 MyBatis的特點 12
    2.2 快速上手 12
    2.2.1 MyBatis包的引入 14
    2.2.2 MyBatis的簡單配置 15
    2.2.3 基於MyBatis的數據庫操作 16
    2.3 MyBatis的核心功能分析 17
    第3章 MyBatis運行初探 20
    3.1 初始化階段追蹤 23
    3.1.1 靜態代碼塊的執行 23
    3.1.2 獲取InputStream 24
    3.1.3 配置信息讀取 25
    3.1.4 總結 27
    3.2 數據讀寫階段追蹤 27
    3.2.1 獲得SqlSession 27
    3.2.2 映射接口文件與映射文件的綁定 28
    3.2.3 映射接口的代理 28
    3.2.4 SQL語句的查找 31
    3.2.5 查詢結果緩存 31
    3.2.6 數據庫查詢 33
    3.2.7 處理結果集 36
    3.2.8 總結 39
    第4章 MyBatis源碼結構概述 40
    4.1 包結構 40
    4.2 分組結構 40
    第2篇 基礎功能包源碼閱讀
    第5章 exceptions包 44
    5.1 背景知識 44
    5.1.1 Java的異常 44
    5.1.2 序列化與反序列化 45
    5.2 Exception類 46
    5.3 ExceptionFactory類 47
    第6章 reflection包 48
    6.1 背景知識 48
    6.1.1 裝飾器模式 48
    6.1.2 反射 50
    6.1.3 Type接口及其子類 54
    6.2 對像工廠子包 55
    6.3 執行器子包 57
    6.4 屬性子包 59
    6.5 對像包裝器子包 61
    6.6 反射核心類 62
    6.7 反射包裝類 65
    6.8 異常拆包工具 65
    6.9 參數名解析器 68
    6.10 泛型解析器 69
    第7章 annotations包與lang包 76
    7.1 Java注解詳解 76
    7.2 Param注解分析 78
    第8章 type包 81
    8.1 模板模式 82
    8.2 類型處理器 83
    8.2.1 類型處理器的基類與實現類 83
    8.2.2 TypeReference類 85
    8.3 類型注冊表 86
    第9章 io包 89
    9.1 背景知識 89
    9.1.1 單例模式 89
    9.1.2 代理模式 89
    9.1.3 靜態代理 90
    9.1.4 VFS 92
    9.2 VFS實現類 92
    9.2.1 DefaultVFS類 94
    9.2.2 JBoss6VFS類 94
    9.3 類文件的加載 96
    9.4 ResolverUtil類 97
    第10章 logging包 100
    10.1 背景知識 100
    10.1.1 適配器模式 100
    10.1.2 日志框架與日志級別 102
    10.1.3 基於反射的動態代理 103
    10.2 Log接口 105
    10.3 Log接口的實現類 107
    10.4 LogFactory 108
    10.5 JDBC日志打印 109
    第11章 parsing包 113
    11.1 背景知識 113
    11.1.1 XML文件 113
    11.1.2 XPath 115
    11.2 XML解析 116
    11.3 文檔解析中的變量替換 118
    第3篇 配置解析包源碼閱讀
    第12章 配置解析概述 124
    第13章 binding包 128
    13.1 數據庫操作的接入 128
    13.1.1 數據庫操作的方法化 129
    13.1.2 數據庫操作方法的接入 133
    13.2 抽像方法與數據庫操作節點的關聯 134
    13.3 數據庫操作接入總結 136
    13.3.1 初始化階段 136
    13.3.2 數據讀寫階段 137
    13.4 MyBatis與Spring、Spring Boot的整合 137
    第14章 builder包 139
    14.1 建造者模式 139
    14.2 建造者基類與工具類 142
    14.3 SqlSourceBuilder類與StaticSqlSource類 143
    14.4 CacheRefResolver類和ResultMapResolver類 145
    14.4.1 CacheRefResolver類 145
    14.4.2 ResultMapResolver類 146
    14.5 ParameterExpression類 148
    14.6 XML文件解析 149
    14.6.1 XML文件的聲明解析 150
    14.6.2 配置文件解析 151
    14.6.3 數據庫操作語句解析 153
    14.6.4 Statement解析 155
    14.6.5 引用解析 157
    14.7 注解映射的解析 159
    14.7.1 注解映射的使用 159
    14.7.2 注解映射解析的觸發 160
    14.7.3 直接注解映射的解析 164
    14.7.4 間接注解映射的解析 164
    第15章 mapping包 169
    15.1 SQL語句處理功能 169
    15.1.1 MappedStatement類 169
    15.1.2 SqlSource類 170
    15.1.3 BoundSql 171
    15.2 輸出結果處理功能 171
    15.2.1 ResultMap類 172
    15.2.2 ResultMapping類 173
    15.2.3 Discriminator 174
    15.3 輸入參數處理功能 176
    15.4 多數據庫種類處理功能 176
    15.5 其他功能 178
    第16章 scripting包 179
    16.1 OGNL 179
    16.2 語言驅動接口及語言驅動注冊表 183
    16.3 SQL節點樹的組建 186
    16.4 SQL節點樹的解析 189
    16.4.1 OGNL輔助類 189
    16.4.2 表達式求值器 193
    16.4.3 動態上下文 194
    16.4.4 SQL節點及其解析 196
    16.5 再論SqlSource 202
    16.5.1 SqlSource的生成 202
    16.5.2 DynamicSqlSource的轉化 205
    16.5.3 RawSqlSource的轉化 206
    16.5.4 SqlSource接口的實現類總結 207
    第17章 datasource包 208
    17.1 背景知識 208
    17.1.1 java.sql包和javax.sql包 208
    17.1.2 DriverManager 209
    17.1.3 DataSource 209
    17.1.4 Connection 210
    17.1.5 Statement 211
    17.2 數據源工廠接口 211
    17.3 JNDI數據源工廠 213
    17.4 非池化數據源及工廠 214
    17.4.1 非池化數據源工廠 214
    17.4.2 非池化數據源 216
    17.5 池化數據源 218
    17.5.1 池化數據源類的屬性 218
    17.5.2 池化連接的給出與收回 220
    17.5.3 池化連接 228
    17.6 論數據源工廠 229
    第4篇 核心操作包源碼閱讀
    第18章 jdbc包 232
    18.1 AbstractSQL類與SQL類 232
    18.1.1 SafeAppendable內部類 232
    18.1.2 SQLStatement內部類 233
    18.1.3 AbstractSQL類 235
    18.1.4 SQL類 236
    18.2 SqlRunner類 237
    18.3 ScriptRunner類 240
    18.4 jdbc包的獨立性 241
    第19章 cache包 243
    19.1 背景知識 243
    19.1.1 Java對像的引用級別 243
    19.1.2 ReferenceQueue類 244
    19.2 cache包結構與Cache接口 247
    19.3 緩存鍵 248
    19.3.1 緩存鍵的原理 248
    19.3.2 緩存鍵的生成 251
    19.4 緩存的實現類 252
    19.5 緩存裝飾器 252
    19.5.1 同步裝飾器 253
    19.5.2 日志裝飾器 253
    19.5.3 清理裝飾器 254
    19.5.4 阻塞裝飾器 259
    19.5.5 定時清理裝飾器 262
    19.5.6 序列化裝飾器 263
    19.6 緩存的組建 264
    19.7 事務緩存 267
    19.8 MyBatis緩存機制 271
    19.8.1 一級緩存 271
    19.8.2 二級緩存 274
    19.8.3 兩級緩存機制 277
    第20章 transaction包 279
    20.1 事務概述 279
    20.2 事務接口及工廠 280
    20.3 JDBC事務 282
    20.4 容器事務 283
    第21章 cursor包 284
    21.1 Iterable接口與Iterator接口 284
    21.2 MyBatis中遊標的使用 285
    21.3 遊標接口 285
    21.4 默認遊標 286
    21.4.1 CursorStatus內部類 287
    21.4.2 ObjectWrapperResultHandler內部類 287
    21.4.3 CursorIterator內部類 288
    21.4.4 DefaultCursor外部類 289
    第22章 executor包 293
    22.1 背景知識 293
    22.1.1 基於cglib的動態代理 293
    22.1.2 javassist框架的使用 295
    22.1.3 序列化與反序列化中的方法 296
    22.1.4 ThreadLocal 302
    22.1.5 存儲過程 305
    22.1.6 Statement及其子接口 306
    22.2 主鍵自增功能 308
    22.2.1 主鍵自增的配置與生效 308
    22.2.2 Jdbc3KeyGenerator類 310
    22.2.3 SelectKeyGenerator類 312
    22.3 懶加載功能 316
    22.3.1 懶加載功能的使用 316
    22.3.2 懶加載功能的實現 318
    22.3.3 懶加載功能對序列化和反序列化的支持 325
    22.4 語句處理功能 329
    22.4.1 MyBatis對多語句類型的支持 329
    22.4.2 MyBatis的語句處理功能 331
    22.5 參數處理功能 333
    22.6 結果處理功能 334
    22.7 結果集處理功能 336
    22.7.1 MyBatis中多結果集的處理 337
    22.7.2 結果集封裝類 340
    22.7.3 結果集處理器 341
    22.8 執行器 347
    22.8.1 執行器接口 348
    22.8.2 執行器基類與實現類 348
    22.9 錯誤上下文 352
    第23章 session包 355
    23.1 SqlSession及其相關類 355
    23.1.1 SqlSession的生成鏈 356
    23.1.2 DefaultSqlSession類 357
    23.1.3 SqlSessionManager類 358
    23.2 Configuration類 361
    23.3 其他類 364
    第24章 plugin包 366
    24.1 責任鏈模式 366
    24.2 MyBatis插件開發 368
    24.3 MyBatis攔截器平臺 370
    24.4 MyBatis攔截器鏈與攔截點 373
    第5篇 總結與展望
    第25章 源碼閱讀總結 378
    25.1 前期準備 378
    25.1.1 工具準備 378
    25.1.2 項目選擇 378
    25.1.3 項目使用 379
    25.2 項目初探 379
    25.3 源碼閱讀 380
    25.3.1 模塊分析 380
    25.3.2 模塊歸類 380
    25.3.3 自底向上 380
    25.3.4 合理猜測 381
    25.3.5 類比閱讀 381
    25.3.6 善於彙總 381
    25.3.7 網格閱讀 382
    第26章 優秀開源項目推薦 383
    26.1 Guava 383
    26.2 Tomcat 384
    26.3 Redis 384
    26.4 Dubbo 385
    26.5 React 385

    前言
    有一段時間,我覺著我非要閱讀開源項目的源碼不可。
    那時,我在公司負責設計和開發了很多繫統。如果連大學時帶領大家開發和維護學校網站也算上的話,那我進行軟件開發已經整整十年了。在這十年裡,我對自己設計和開發的繫統都很有信心,但有一個疑惑一直縈繞在我心頭:我不知道,我的架構和世界良架構之間的差距到底有多大。
    閱讀開源項目的源碼能給我答案。
    許多優秀的開源項目歷經數千名開發者的數萬次提交,被數億用戶使用。這些項目從可擴展性、可靠性和可用性等各個角度考量,都是十分優良的。通過閱讀這些項目的源碼,我能找到自己在軟件設計和開發上的不足。
    於是我開始了我的源碼閱讀計劃。
    在閱讀源碼的過程中,我看過不少資料。但很多資料對源碼中簡單的部分講解得細致入微,而對復雜的部分則避而不談或含糊其辭。在閱讀源碼的過程中,我也走過不少彎路,經常在一個難點中掙扎很久不能前進。

    有一段時間,我覺著我非要閱讀開源項目的源碼不可。
    那時,我在公司負責設計和開發了很多繫統。如果連大學時帶領大家開發和維護學校網站也算上的話,那我進行軟件開發已經整整十年了。在這十年裡,我對自己設計和開發的繫統都很有信心,但有一個疑惑一直縈繞在我心頭:我不知道,我的架構和世界良架構之間的差距到底有多大。
    閱讀開源項目的源碼能給我答案。
    許多優秀的開源項目歷經數千名開發者的數萬次提交,被數億用戶使用。這些項目從可擴展性、可靠性和可用性等各個角度考量,都是十分優良的。通過閱讀這些項目的源碼,我能找到自己在軟件設計和開發上的不足。
    於是我開始了我的源碼閱讀計劃。
    在閱讀源碼的過程中,我看過不少資料。但很多資料對源碼中簡單的部分講解得細致入微,而對復雜的部分則避而不談或含糊其辭。在閱讀源碼的過程中,我也走過不少彎路,經常在一個難點中掙扎很久不能前進。
    當然,閱讀源碼也讓我收獲頗豐。它不僅讓我知道了自己的設計與優良設計之間的差距,還讓我學到了許多架構技巧和編程知識。在源碼閱讀的過程中,我也總結出了許多經驗和方法。因此,我決定寫這本書,將經驗和方法分享出來,指引許多和我一樣前行在源碼閱讀道路上的人。
    源碼閱讀首先要選定相應的源碼作為材料。從項目的成熟度、涉及面、應用廣度、項目規模等多方面考慮,本書終選中MyBatis源碼。因此,本書將以閱讀MyBatis源碼為例,介紹源碼閱讀的經驗和方法。
    在本書的寫作中,我努力做到詳盡而不啰唆。本書以包為單位,對MyBatis源碼中的300多個類進行了介紹。在此過程中,對於簡單或重復的類一筆帶過,但對於復雜的類,則是逐方法、逐行地進行分析,力求讓大家讀得順、讀得懂、有收獲。
    本書分為五篇,各篇主要內容如下。
    第1篇為背景介紹,包括第1~4章。
    第1章介紹了源碼閱讀的意義和方法。
    第2章對MyBatis的背景和快速上手方法進行了介紹。這一章的內容是簡單但重要的。對於任何一個軟件,其背景對應於軟件的“設計需求”,其使用對應於軟件的“主要功能”。把握一個軟件的設計需求和主要功能對於閱讀軟件的源碼很有幫助。
    第3章中使用斷點調試方法對MyBatis的執行過程進行了追蹤。該章內容有助於我們了解整個MyBatis的內部框架。
    第4章對MyBatis源碼結構進行了介紹,並根據源碼包的功能對包進行了分類。
    第2篇為基礎功能包源碼閱讀,包括第5~11章。
    在這一篇中,我們對基礎功能包中的源碼進行了閱讀。基礎功能包相對獨立,與MyBatis的核心邏輯耦合小,比較適合作為源碼閱讀的切入點。在閱讀這些源碼時,我們也會逐步介紹一些閱讀源碼常用的方法和技巧。
    第5章介紹了exceptions包的源碼,可以通過該包了解MyBatis的整個異常體繫。
    第6章介紹了reflection包的源碼。該包基於反射提供了創建對像、修改對像屬性、調用對像方法等功能。這些功能在MyBatis的參數處理、結果處理等環節都發揮了重要的作用。
    第7章介紹了annotations包與lang包的源碼。這兩個包中全是注解類。我們將通過對Java注解的學習詳細了解每個注解類的含義。後,我們還通過源碼分析了注解類如何在MyBatis的運行中發揮作用。
    第8章介紹了type包的源碼。通過這一章將了解MyBatis如何組織和實現類型處理器,以完成對各種類型數據的處理。
    第9章介紹了io包的源碼。通過該包將了解到MyBatis如何完成外部類的篩選和載入。
    第10章介紹了logging包的源碼。logging包不僅為MyBatis提供了日志記錄功能,還提供了獲取和記錄JDBC中日志的功能。通過這一章將了解這些功能的實現細節。
    第11章介紹了parsing包的源碼。通過這一章將了解MyBatis如何完成XML文件的解析。
    第3篇為配置解析包源碼閱讀,包括第12~17章。
    第12章介紹了配置解析相關類的分類方法。配置解析相關類可以按照類的功能劃分為解析器類和解析實體類。
    第13章介紹了binding包的源碼。該包負責將SQL語句接入映射接口。
    第14章介紹了builder包的源碼。該包中的建造者基類和工具類為MyBatis基於建造者模式建造對像提供了基礎。此外,該包還完成了XML文件和注解映射的解析工作。
    第15章介紹了mapping包的源碼。該包完成了SQL語句的處理、輸入參數的處理、輸出結果的處理等功能,並為MyBatis提供了多數據庫支持的能力。
    第16章介紹了scripting包的源碼。就是在這個包中,復雜的SQL節點被逐步解析為純粹的SQL語句,該章將詳細講解這一解析過程。
    第17章介紹了datasource包的源碼。該包包含了MyBatis中與數據源相關的類,包括非池化數據源、池化數據源、數據源工廠等。也正是通過該包,MyBatis完成了和數據庫的對接。
    第4篇為核心操作包源碼閱讀,包括第18~24章。
    在這一篇中,將詳細介紹MyBatis的核心操作包。
    第18章介紹了jdbc包的源碼。該包僅使用六個類便為MyBatis提供了運行SQL語句和腳本的能力。
    第19章介紹了cache包的源碼。該包向我們展示了MyBatis如何使用裝飾器模式為用戶提供豐富的、可配置的緩存,並且該章還從功能維度出發詳細介紹了MyBatis的兩級緩存機制。
    第20章介紹了transaction包的源碼。該包為MyBatis提供了內部和外部的事務支持。
    第21章介紹了cursor包的源碼。通過該包,MyBatis能將查詢結果封裝為遊標形式返回。
    第22章介紹了executor包的源碼。executor包是MyBatis中為重要也是復雜的包。在這一章中,首先,以子包為單位分別介紹了MyBatis的主鍵自增功能、懶加載功能、語句處理功能、參數處理功能、結果處理功能和結果集處理功能。然後,在此基礎上對MyBatis中執行器的源碼進行了閱讀。後,閱讀了MyBatis中錯誤上下文的源碼,了解MyBatis如何及時地保留錯誤發生時的現場環境。
    第23章介紹了session包的源碼。session包是一個對外接口包,是用戶在使用MyBatis時接觸多的包。
    第24章介紹了plugin包的源碼。在該章中我們編寫了一個插件,然後通過源碼詳細了解了MyBatis插件的實現原理及MyBatis插件平臺的架構。
    第5篇為總結與展望,包括第25、26章。
    第25章對閱讀MyBatis源碼過程中的方法和技巧進行了總結。
    第26章從項目的成熟度、涉及面、應用廣度和規模等角度綜合考量,為大家推薦了一些優秀的開源項目。學習完本書後,大家可以從這些項目中挑選一些進行源碼閱讀。
    源碼閱讀畢竟是一個對知識廣度和深度都有較高要求的工作,為了大家能夠順利地閱讀MyBatis的源碼,我們會在很多章節之前先介紹該章節源碼涉及的基礎知識。掌握這些基礎知識後再閱讀相關源碼則會輕松很多。
    受篇幅所限,書中隻能給出部分MyBatis源碼。我們將完整的帶中文注釋的MyBatis源碼整理成了開源項目,供大家下載與參考。該項目的地址為:https://github.com/yeecode/MyBatisCN。
    為了讓大家能更輕松地理解和掌握一些相對復雜的知識點,我們還準備了許多示例項目。下載地址為:https://github.com/yeecode/MyBatisDemo。
    由於時間和水平有限,書中難免會有疏漏之處。您可以通過我的個人主頁與我取得聯繫並進行交流,在那裡也能看到我的項目。我的個人主頁地址為:http://yeecode.top。
    通過閱讀本書,您將詳細了解MyBatis中每一個類的結構、原理和細節。但要注意,這隻是我們閱讀本書的額外收獲。掌握源碼閱讀的方法和技巧,並將這些方法和技巧應用到其他項目的源碼閱讀工作、繫統設計工作、軟件開發工作中,這纔是閱讀本書的終目的。
    源碼閱讀是一項過程艱苦而結果可觀的工作。每一個潛心閱讀源碼的開發者都值得尊敬,也希望本書能夠在您閱讀源碼的過程中為您提供一些幫助,讓您多一些收獲。
    加油!奮鬥路上的你和我。


    著  者



     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部