新到貨2本75折
Spring Data JPA:入門、實戰與進階

Spring Data JPA:入門、實戰與進階

  • 定價:774
  • 優惠價:87673
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書主要分為四個模組,共33章。
 
模組一主要從基本語法的視角,來詳細介紹 Spring Data JPA 的語法糖有哪些,包括源碼的剖析、實際工作中的經驗分享,以及作者對此的思考、啟發。模組二從實際工作中的複雜應用場景開始,依次講解自訂場景,如何擴展 Spring 給我們提供的框架、資料來源、連接、事務之間的關係,説明讀者解決實踐中可能會遇到的問題,並學會獨立思考、穩妥解決。模組三講解了實際工作遇到的經典問題,如 N+1 sql、lazy、事務的問題,及作者對此的思考和解決思路。模組四從 Spring Data Rest、Spring Data ES、測試用例的角度,擴展思路,展望一下發展方向。
 

目錄

前 言
 
第一部分 基礎知識
 
第1章 初識Spring Data JPA  2
 
1.1 Spring Boot和JPA演示  2
 
1.2 JPA如何整合MySQL資料庫  8
 
1.2.1 切換MySQL資料來源  8
 
1.2.2 Spring Data JPA測試用例的寫法  10
 
1.3 整體認識JPA  11
 
1.3.1 市場上ORM框架的對比  11
 
1.3.2 JPA簡介和開源實現  12
 
1.4 認識Spring Data  13
 
1.4.1 Spring Data簡介  13
 
1.4.2 Spring Data的子項目  14
 
1.5 本章小結  15
 
第2章 全面掌握Spring Data Commons之Repository  16
 
2.1 Spring Data Commons的依賴關係  16
 
2.2 Repository介面  17
 
2.2.1 查看Repository源碼  17
 
2.2.2 Repository類層次關係  17
 
2.2.3 Repository介面的實際案例  19
 
2.3 CrudRepository介面  21
 
2.4 PagingAndSortingRepository介面  23
 
2.4.1 PagingAndSortingRepository的源碼  23
 
2.4.2 PagingAndSortingRepository的使用案例  24
 
2.5 JpaRepository介面  25
 
2.6 Repository的實現類SimpleJpaRepository  26
 
2.7 Repository介面的啟發  27
 
2.8 本章小結  28
 
第3章 定義查詢方法的命名語法與參數  29
 
3.1 定義查詢方法的配置和使用方法  29
 
3.1.1 直接通過方法名實現CRUD步驟  30
 
3.1.2 選擇性暴露CRUD方法  30
 
3.2 方法的查詢策略設置  31
 
3.3 定義查詢方法的語法  32
 
3.3.1 語法剖析  32
 
3.3.2 關鍵源碼  34
 
3.4 特定類型的參數:Sort和Pageable  36
 
3.5 限制查詢結果:First和Top  38
 
3.6 @NonNull、@NonNullApi和@Nullable關鍵字  38
 
3.7 給我們的一些思考  39
 
3.8 本章小結  43
 
第4章 利用Repository中的方法返回值來解決實際問題  44
 
4.1 Repository的返回結果  44
 
4.1.1 自訂Streamable  46
 
4.1.2 返回結果類型List/Stream/Page/Slice  46
 
4.1.3 Repository對Feature/CompletableFuture非同步返回結果的支援  52
 
4.1.4 對Reactive的支持:Flux與Mono  53
 
4.1.5 小結  53
 
4.2 最常見的DTO返回結果的支持方法  56
 
4.2.1 Projections概念  56
 
4.2.2 第一種方法:新建一張表的不同Entity  57
 
4.2.3 第二種方法:直接定義一個UserOnlyNameEmailDto  58
 
4.2.4 第三種方法:返回結果是一個POJO的介面  60
 
4.2.5 寫查詢方法的一個小技巧  62
 
4.3 本章小結  62
 
第5章 @Query語法詳解及其應用  63
 
5.1 快速體驗@Query的方法  63
 
5.2 JpaQueryLookupStrategy關鍵源碼剖析  64
 
5.3 @Query的基本用法  66
 
5.3.1 JPQL的語法  67
 
5.3.2 @Query的用法案例  68
 
5.3.3 @Query的排序  68
 
5.3.4 @Query的分頁  69
 
5.3.5 @Param的用法  70
 
5.4 @Query之Projections應用返回指定DTO  70
 
5.4.1 利用UserDto類  72
 
5.4.2 利用UserDto介面  73
 
5.5 @Query動態查詢解決方法  74
 
5.6 本章小結  77
 
第6章 @Entity的常用注解及Java多態場景應用  78
 
6.1 JPA協定中關於實體的相關規定  78
 
6.2 實體裡面常見的注解  79
 
6.3 生成注解的小技巧  85
 
6.4 聯合主鍵  86
 
6.4.1 如何通過@IdClass實現聯合主鍵  86
 
6.4.2 @Embeddable與@EmbeddedId注解的使用  88
 
6.5 如何實現實體之間的繼承關係  89
 
6.5.1 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)  90
 
6.5.2 @Inheritance(strategy = InheritanceType.JOINED)  91
 
6.5.3 @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)  93
 
6.5.4 關於繼承關係的經驗之談  94
 
6.6 本章小結  95
 
第7章 實體之間關聯關係注解的正確使用  96
 
7.1 @OneToOne  96
 
7.1.1 @OneToOne的源碼解讀  98
 
7.1.2 mappedBy的注意事項  99
 
7.1.3 CascadeType的用法  99
 
7.1.4 orphanRemoval的屬性用法  100
 
7.1.5 主鍵和外鍵都是同一個欄位  101
 
7.1.6 @OneToOne延遲載入下只需要ID值  102
 
7.1.7 @OneToOne的實踐  104
 
7.2 @JoinCloumns和@JoinColumn  105
 
7.3 @ManyToOne和@OneToMany  106
 
7.4 @ManyToMany  110
 
7.4.1 利用@ManyToOne和@OneToMany表達多對多的關聯關係  112
 
7.4.2 @ManyToMany的實踐  114
 
7.5 本章小結  114
 
第8章 Jackson在實體裡面的注解詳解  115
 
8.1 Jackson的基本語法  115
 
8.1.1 三個核心模組  116
 
8.1.2 Jackson提供的擴展jar包  116
 
8.1.3 Jackson中常用的一些注解  117
 
8.1.4 實例  118
 
8.2 Jackson和Spring的關係  121
 
8.2.1 應用場景一:Spring MVC的View層  121
 
8.2.2 應用場景二:Open-Feign  121
 
8.2.3 應用場景三:Redis裡面  122
 
8.2.4 應用場景四:JMS消息序列化  122
 
8.3 Jackson的原理分析  123
 
8.3.1 Jackson的可見性原理分析  123
 
8.3.2 反序列化最重要的方法  124
 
8.3.3 Module的載入機制  126
 
8.4 Jackson與JPA常見的問題  127
 
8.4.1 如何解決閉環問題  127
 
8.4.2 JPA實體JSON序列化的常見報錯及解決方法  128
 
8.4.3 推薦的配置項  129
 
8.4.4 JSON序列化和Java序列化  131
 
8.5 本章小結  131
 
第二部分 高階用法與實例
 
第9章 QueryByExampleExecutor的用法和原理分析  135
 
9.1 QueryByExampleExecutor的用法  135
 
9.1.1 基本方法  135
 
9.1.2 使用案例  136
 
9.2 QueryByExampleExecutor的語法  140
 
9.2.1 Example的語法詳解  140
 
9.2.2 ExampleMatcher方法概述  141
 
9.2.3 初始化ExampleMatcher實例的方法  142
 
9.2.4 ExampleMatcher的語法  143
 
9.2.5 ExampleMatcher的完整例子  145
 
9.2.6 使用QueryByExampleExecutor時需要考慮的因素  146
 
9.3 QueryByExampleExecutor的實現原理  146
 
9.3.1 QueryByExampleExecutor的源碼分析  146
 
9.3.2 JpaSpecificationExecutor的介面結構  148
 
9.3.3 通過QBE反向思考JpaSpecificationExecutor  149
 
9.4 本章小結  149
 
第10章 JpaSpecificationExecutor的實現原理  150
 
10.1 JpaSpecificationExecutor的使用案例  150
 
10.2 JpaSpecificationExecutor的語法詳解  154
 
10.2.1 Root root  156
 
10.2.2 CriteriaQuery query  156
 
10.2.3 CriteriaBuilder  157
 
10.3 JpaSpecificationExecutor的原理分析  158
 
10.4 JpaSpecificationExecutor實戰  160
 
10.4.1 自訂MySpecification  161
 
10.4.2 利用Specification創建以search為查詢準則的RESTful API  163
 
10.5 本章小結  165
 
第11章 Querydsl在JPA中的應用  166
 
11.1 Querydsl快速入門  166
 
11.2 Querydsl的語法  170
 
11.2.1 QuerydslPredicateExecutor  170
 
11.2.2 QuerydslBinderCustomizer  172
 
11.2.3 類型安全的應用  174
 
11.3 Querydsl對WebMVC的支持及源碼分析  175
 
11.3.1 @QuerydslPredicate注解  175
 
11.3.2 QuerydslPredicateArgument-Resolver源碼分析  177
 
11.4 本章小結  179
 
第12章 如何自訂Repository  180
 
12.1 EntityManager簡介  180
 
12.1.1 EntityManager的常用方法  180
 
12.1.2 EntityManager的使用  182
 
12.2 @EnableJpaRepositories詳解  183
 
12.2.1 @EnableJpaRepositories的語法  183
 
12.2.2 @EnableJpaRepositories的預設載入方式  185
 
12.3 自訂Repository的實現類的方法  186
 
12.3.1 第一種方法:定義獨立的Repository的Impl實現類  186
 
12.3.2 第一種方法的原理分析  187
 
12.3.3 第二種方法:通過@EnableJpaRepositories定義默認的實現類  190
 
12.3.4 第二種方法的原理分析  192
 
12.4 實際應用場景  193
 
12.5 本章小結  193
 
第13章 JPA的Auditing功能  194
 
13.1 Auditing是什麼  194
 
13.2 如何實現Auditing  195
 
13.2.1 第一種方式:直接在實例裡面添加上述四個注解  195
 
13.2.2 第二種方式:在實體裡面實現Auditable介面  198
 
13.2.3 第三種方式:利用@MappedSuperclass注解  200
 
13.3 JPA的Auditing功能解決了哪些問題  201
 
13.4 Auditing的實現原理  202
 
13.4.1 Auditing的源碼分析  202
 
13.4.2 結論  204
 
13.5 本章小結  205
 
第14章 @Entity回檔方法的正確使用  206
 
14.1 Java Persistence API規定的回檔方法  206
 
14.1.1 Entity的回檔事件注解  206
 
14.1.2 語法注意事項  207
 
14.2 JPA回檔注解的使用方法  207
 
14.2.1 第一種用法:在實體和super-class中使用  207
 
14.2.2 第二種用法:自訂EntityListener  212
 
14.2.3 關於@EntityListeners載入順序的說明  214
 
14.3 JPA回檔注解的實踐  214
 
14.4 JPA回檔注解的實現原理和事件機制  216
 
14.5 本章小結  217
 
第15章 樂觀鎖機制和重試機制在實戰中的應用  218
 
15.1 什麼是樂觀鎖  218
 
15.2 樂觀鎖的實現方法  218
 
15.2.1 @Version的用法  219
 
15.2.2 @Version對Save方法的影響  222
 
15.3 isNew判斷的邏輯  222
 
15.4 樂觀鎖機制和重試機制的實戰  224
 
15.4.1 重試機制詳解  224
 
15.4.2 @Retryable的詳細用法  225
 
15.4.3 樂觀鎖+重試機制的實踐  227
 
15.5 悲觀鎖的實現  227
 
15.6 本章小結  228
 
第16章 JPA對Web MVC開發的支援  229
 
16.1 DomainClassConverter組件  230
 
16.1.1 一個實例  230
 
16.1.2 源碼分析  231
 
16.2 Page和Sort的參數支持  233
 
16.2.1 一個實例  233
 
16.2.2 原理分析  235
 
16.3 Web MVC的參數綁定  236
 
16.3.1 一個實例  237
 
16.3.2 原理分析  238
 
16.4 Querydsl的Web  MVC支持  239
 
16.4.1 一個實例  239
 
16.4.2 原理分析  241
 
16.5 @DynamicUpdate和
 
@DynamicInsert詳解  242
 
16.5.1 通過語法快速瞭解  242
 
16.5.2 使用案例  243
 
16.5.3 只更新非Null的欄位  246
 
16.5.4 @DynamicUpdate與@LastModifiedDate一起使用  248
 
16.6 Spring Data對系統監控的支援  248
 
16.7 本章小結  249
 
第17章 自訂HandlerMethod-ArgumentResolver  250
 
17.1 Page和Sort參數  250
 
17.2 HandlerMethodArgumentResolver的用法  252
 
17.2.1 HandlerMethodArgument-Resolver詳解  252
 
17.2.2 與HttpMessageConverter的關係  254
 
17.2.3 HttpMessageConverter的執行順序  254
 
17.3 HandlerMethodArgumentResolver實戰  255
 
17.3.1 自訂HandlerMethod-ArgumentResolver  256
 
17.3.2 實際工作中的四種常見場景  259
 
17.4 思路拓展  261
 
17.4.1 WebMvcConfigurer介紹  261
 
17.4.2 對JSON的返回結果進行統一封裝  262
 
17.5 本章小結  264
 
第18章 DataSource詳解及其載入過程  265
 
18.1 資料來源是什麼  265
 
18.1.1 DataSource源碼分析  266
 
18.1.2 資料來源、驅動、連接和連接池的關係  268
 
18.2 資料來源的載入原理和過程  269
 
18.2.1 DataSourceAutoConfiguration資料來源的載入過程分析  269
 
18.2.2 Hikari資料來源下的MySQL配置實踐  274
 
18.2.3 Hikari資料通過Prometheus的監控指標應用  276
 
18.3 AliDruidDataSource的配置與介紹  278
 
18.4 命名策略詳解及其實踐  279
 
18.4.1 Hibernate 5的命名策略  279
 
18.4.2 載入原理與自訂方法  282
 
18.4.3 實際應用場景  283
 
18.5 資料庫的時區問題  283
 
18.5.1 MySQL時間類型欄位和時區的關係  283
 
18.5.2 MySQL驅動處理時區的原理  285
 
18.6 本章小結  286
 
第19章 生產環境多資料來源的處理方法  287
 
19.1 第一種方式:@Configuration配置方法  287
 
19.1.1 通過多個@Configuration的配置方法  287
 
19.1.2 DataSource與Transaction-Manager、EntityManager-Factory的關係分析  294
 
19.1.3 預設的JpaBaseConfiguration的載入方式分析  294
 
19.2 第二種方式:利用Abstract-RoutingDataSource配置  295
 
19.2.1 利用AbstractRoutingData-Source的配置方法  296
 
19.2.2 微服務下多資料來源的思考  299
 
19.2.3 微服務下的實戰建議  300
 
19.3 本章小結  300
 
第20章 事務、連接池之間的關係與配置  301
 
20.1 事務的基本原理  301
 
20.1.1 四種MySQL事務的隔離級別  302
 
20.1.2 MySQL中事務與連接的關係  303
 
20.2 Spring事務的配置方法  304
 
20.2.1 預設@Transactional注解式事務  305
 
20.2.2 @Transactional的局限性  307
 
20.2.3 TransactionTemplate的用法  308
 
20.2.4 自訂TransactionHelper  310
 
20.2.5 AspectJ事務配置  310
 
20.2.6 通過日誌分析配置方法的過程  311
 
20.3 Spring事務的實現原理  313
 
20.3.1 Spring事務源碼分析  313
 
20.3.2 事務和連接池在JPA中的注意事項  318
 
20.4 本章小結  318
 
第三部分 原理在實戰中的應用
 
第21章 JPA中的Hibernate載入過程與配置項  320
 
21.1 Hibernate架構分析  320
 
21.2 Hibernate 5在Spring Boot 2中的載入過程  321
 
21.2.1 JpaProperties屬性  322
 
21.2.2 HibernateJpaConfiguration分析  323
 
21.2.3 自動載入過程類之間的關係  328
 
21.3 Repositories的載入模式  329
 
21.4 在調試時需要的日誌配置  331
 
21.5 本章小結  333
 
第22章 理解Persistence Context的核心概念  334
 
22.1 Persistence Context相關核心概念  334
 
22.1.1 EntityManagerFactory和Persistence Unit  334
 
22.1.2 EntityManager和PersistenceContext  335
 
22.2 實體物件的生命週期  337
 
22.2.1 第一種:New狀態  337
 
22.2.2 第二種:Detached狀態  338
 
22.2.3 第三種:Managed狀態  339
 
22.2.4 第四種:Removed狀態  339
 
22.3 解密EntityManager的f lush()方法  340
 
22.3.1 Flush的作用  340
 
22.3.2 Flush機制  341
 
22.3.3 Flush會改變SQL的執行順序  342
 
22.3.4 Flush與事務提交的關係  343
 
22.3.5 Flush與樂觀鎖的關係  344
 
22.3.6 saveAndFlush和save的區別  345
 
22.4 Dirty判斷邏輯及其作用  346
 
22.4.1 Dirty效果的例子  346
 
22.4.2 Entity判斷Dirty的過程  346
 
22.5 本章小結  347
 
第23章 Session的open-in-view對事務的影響  348
 
23.1 Session是什麼  348
 
23.1.1 對Session的理解  348
 
23.1.2 SessionImpl解決了什麼問題  349
 
23.2 open-in-view是做什麼的  350
 
23.2.1 open-in-view的作用  350
 
23.2.2 OpenEntityManagerInView-Interceptor源碼分析  351
 
23.2.3 EntityManager的開啟時機及擴展場景  353
 
23.2.4 驗證EntityManager創建和釋放的日誌  354
 
23.3 hibernate.connection.handling_mode詳解  356
 
23.3.1 PhysicalConnectionHandling-Mode的五種模式  356
 
23.3.2 預設模式及其修改  358
 
23.3.3 handling_mode的配置對連接的影響  359
 
23.4 Session、EntityManager、Connection和Transaction之間的關係  361
 
23.4.1 Connection和Transaction  361
 
23.4.2 EntityManager、Connection和Transaction   362
 
23.4.3 Session、EntityManager、Connection和Transaction  362
 
23.4.4 Session和Transaction  362
 
23.5 本章小結  362
 
第24章 如何在CompletableFuture非同步執行緒中正確使用JPA  363
 
24.1 CompletableFuture的實際使用案例  363
 
24.1.1 CompletableFuture的常見寫法  363
 
24.1.2 案例中表現出來的問題現狀  364
 
24.2 非同步方法步驟拆解  365
 
24.2.1 CompletableFuture實踐  365
 
24.2.2 通過日誌查看事務的執行過程  367
 
24.2.3 非同步事務的正確使用方法  369
 
24.2.4 Session機制與Repository.save(entity)的關係  372
 
24.3 非同步場景下的思考  374
 
24.4 本章小結  375
 
第25章 為什麼總會遇到LAZY異常  376
 
25.1 什麼是LazyInitialization-Exception  376
 
25.2 LAZY載入機制的原理分析  378
 
25.2.1 PersistentCollection集合類  378
 
25.2.2 以PersistentBag為例詳解原理  379
 
25.3 LAZY異常的常見場景與解決方法  382
 
25.3.1 場景一:跨事務或事務之外  382
 
25.3.2 場景二:非同步執行緒  384
 
25.3.3 場景三:Controller直接返回實體  384
 
25.3.4 場景四:自訂的攔截器和Filter中無意的toString操作  385
 
25.4 hibernate.enable_lazy_load_no_trans配置  386
 
25.5 Javax.persistence.Persistence-Exception異常類型  386
 
25.6 本章小結  387
 
第26章 如何正確解決經典的“N+1”SQL問題  388
 
26.1 什麼是“N+1”SQL問題  388
 
26.2 減少N對應的SQL語句的條數  393
 
26.2.1 hibernate.default_batch_fetch_size配置  393
 
26.2.2 @BatchSize注解  395
 
26.3 Hibernate中獲取資料的策略  399
 
26.3.1 FetchMode.SELECT  399
 
26.3.2 FetchMode.JOIN  401
 
26.3.3 FetchMode.SUBSELECT  403
 
26.4 轉變解決問題的思路  405
 
26.5 @NamedEntityGraph和@EntityGraph使用詳解  406
 
26.5.1 @NamedEntityGraph和@EntityGraph的用法  407
 
26.5.2 @NamedEntityGraph和@EntityGraph使用實例  409
 
26.6 本章小結  412
 
第27章 SpEL在Spring中的使用方法  413
 
27.1 SpEL基礎  413
 
27.1.1 SpEL的主要語法  413
 
27.1.2 SpEL的基本用法  415
 
27.2 SpEL在Spring中的常見使用場景  416
 
27.2.1 @Value中的應用場景  416
 
27.2.2 @Query中的應用場景  422
 
27.2.3 @Cacheable中的應用場景  425
 
27.3 本章小結  427
 
第28章 QueryPlanCache詳解  428
 
28.1 一級緩存  428
 
28.1.1 什麼是一級緩存  428
 
28.1.2 一級緩存的作用  429
 
28.2 QueryPlanCache  432
 
28.2.1 QueryPlanCache是什麼  432
 
28.2.2 QueryPlanCache存儲的內容  433
 
28.2.3 QueryPlanCache和Session的關係  436
 
28.3 QueryPlanCache中In查詢準則引發的記憶體洩漏問題  438
 
28.3.1 In查詢準則引發記憶體洩漏的原因  438
 
28.3.2 解決In查詢準則記憶體洩漏的方法  440
 
28.4 本章小結  441
 
第四部分 思路擴展
 
第29章 二級緩存的思考:Redis與JPA如何結合  444
 
29.1 二級緩存的概念  444
 
29.1.1 Hibernate中二級緩存的配置方法  444
 
29.1.2 二級緩存的思考  445
 
29.2 利用Redis進行緩存  446
 
29.2.1 Spring Cache和Redis的結合  446
 
29.2.2 介紹Spring Cache  447
 
29.2.3 Spring Cache的主要注解  447
 
29.2.4 Spring Cache Redis的主要類  449
 
29.3 Spring Cache結合Redis的實踐  451
 
29.3.1 不同Cache name配置不同的過期時間  451
 
29.3.2 自訂Redis key的拼接規則  453
 
29.3.3 異常時不要阻礙主流程  454
 
29.3.4 改變默認的Cache中Redis的value序列化方式  455
 
29.4 本章小結  457
 
第30章 Spring Data Rest與JPA  458
 
30.1 Spring Data Rest Demo  458
 
30.2 Spring Data Rest的基本用法  461
 
30.2.1 語義化的方法  461
 
30.2.2 預設的狀態碼支援  462
 
30.2.3 分頁支援  462
 
30.2.4 通過@RepositoryRest-Resource改變資源的metaData  462
 
30.2.5 利用@RestResource改變RESTful的SearchPath  464
 
30.2.6 Spring Data Rest的配置項支援  465
 
30.3 返回結果對Jackson的支持  466
 
30.4 Spring Data Rest和Spring Data JPA的關係  467
 
30.5 本章小結  467
 
第31章 如何利用單元測試和集成測試讓開發效率翻倍  468
 
31.1 Spring Data JPA單元測試的實踐  468
 
31.1.1 Spring Data JPA Repository的測試用例  468
 
31.1.2 Repository的測試場景  470
 
31.2 什麼是單元測試  473
 
31.2.1 Service層單元測試  473
 
31.2.2 Controller層單元測試  475
 
31.3 什麼是集成測試  477
 
31.3.1 Service層的集成測試用例寫法  477
 
31.3.2 Controller層的集成測試用例寫法  478
 
31.3.3 集成測試的一些思考  479
 
31.4 JUnit 4和JUnit 5在Spring Boot中的區別  481
 
31.5 本章小結  482
 
第32章 Spring Data ElasticSearch的用法  483
 
32.1 Spring Data ElasticSearch入門案例  483
 
32.2 Spring Data ElasticSearch中的關鍵類  491
 
32.3 ESRepository和JPARepository同時存在  492
 
32.4 本章小結  495
 
第33章 Sharding-JDBC與JPA結合使用進行分表  496
 
33.1 Sharding-JDBC簡介  496
 
33.2 在JPA中利用Sharding-JDBC拆表  497
 
33.2.1 利用JPA拆分256個表的使用案例  497
 
33.2.2 實際集成過程中可能產生的問題  503
 
33.2.3 Sharding-JDBC簡單原理分析  503
 
33.3 分庫的思考  505
 
33.3.1 垂直拆分還是水準拆分  505
 
33.3.2 微服務還是多資料庫  506
 
33.3.3 讀寫分離還是多讀多寫  506
 
33.3.4 分散式事務如何處理  506
 
33.4 本章小結  507
 
結束語 師傅領進門,修行靠個人  508

 

詳細資料

  • ISBN:9787111692201
  • 規格:平裝 / 509頁 / 16k / 19 x 26 x 2.54 cm / 普通級 / 單色印刷 / 1-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【科普、飲食、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折