注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Spring Data JPA從入門到精通

Spring Data JPA從入門到精通

Spring Data JPA從入門到精通

定 價(jià):¥59.00

作 者: 張振華 著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302499480 出版時(shí)間: 2018-05-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 238 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《Spring Data JPA從入門到精通》以Spring Boot為技術(shù)基礎(chǔ),從入門到精通,由淺入深地介紹Spring Data JPA的使用。有語(yǔ)法,有實(shí)踐,有原理剖析。 《Spring Data JPA從入門到精通》分為12章,內(nèi)容包括整體認(rèn)識(shí)JPA、JPA基礎(chǔ)查詢方法、定義查詢方法、注解式查詢方法、@Entity實(shí)例里面常用注解詳解、JpaRepository擴(kuò)展詳解、JPA的MVC擴(kuò)展REST支持、DataSource的配置、樂(lè)觀鎖、SpEL表達(dá)式在Spring Data里面的應(yīng)用、Spring Data Redis實(shí)現(xiàn)cacheable的實(shí)踐、IntelliJ IDEA加快開(kāi)發(fā)效率、Spring Data REST簡(jiǎn)單介紹等。 《Spring Data JPA從入門到精通》適合Java開(kāi)發(fā)初學(xué)者、Java開(kāi)發(fā)工程師、Java開(kāi)發(fā)架構(gòu)師閱讀,也適合高等院校和培訓(xùn)學(xué)校相關(guān)專業(yè)的師生教學(xué)參考。

作者簡(jiǎn)介

  張振華,先后在驢媽媽、攜程、要買車等公司擔(dān)任過(guò)Java高級(jí)工程師、架構(gòu)師、開(kāi)發(fā)主管、技術(shù)經(jīng)理等職務(wù),有豐富的電商公司的互聯(lián)網(wǎng)工作經(jīng)驗(yàn)。在電商公司工作期間,負(fù)責(zé)過(guò)PC站和后端服務(wù)的平臺(tái)架構(gòu)、實(shí)現(xiàn)和升級(jí)。目前從事Spring相關(guān)的Java架構(gòu)工作,對(duì)Spring整個(gè)全家桶特別鐘愛(ài)。從業(yè)十幾年來(lái)沒(méi)有離開(kāi)過(guò)Java。著有圖書《Java并發(fā)編程從入門到精通》。

圖書目錄

第一部分 基礎(chǔ)部分

第1章 整體認(rèn)識(shí)JPA 3

1.1 市場(chǎng)上ORM框架比對(duì) 3

1.2 JPA的介紹以及開(kāi)源實(shí)現(xiàn) 4

1.3 了解Spring Data 5

1.3.1 Spring Data介紹 5

1.3.2 Spring Data的子項(xiàng)目 5

1.3.3 Spring Data操作的主要特性 6

1.4 Spring Data JPA的主要類及結(jié)構(gòu)圖 7

1.5 MySQL的快速開(kāi)發(fā)實(shí)例 8

第2章 JPA基礎(chǔ)查詢方法 13

2.1 Spring Data Common的Repository 13

2.2 Repository的類層次關(guān)系 (diagms/hierarchy/structure) 14

2.3 CrudRepository方法詳解 16

2.3.1 CrudRepository interface內(nèi)容 17

2.3.2 CrudRepository interface的使用示例 18

2.4 PagingAndSortingRepository方法詳解 19

2.4.1 PagingAndSortingRepository interface 內(nèi)容 19

2.4.2 PagingAndSortingRepository使用示例 20

2.5 JpaRepository方法詳解 21

2.5.1 JpaRepository詳解 21

2.5.2 JpaRepository的使用方法 21

2.6 Repository的實(shí)現(xiàn)類SimpleJpaRepository 22

第3章 定義查詢方法 24

3.1 定義查詢方法的配置方法 24

3.2 方法的查詢策略設(shè)置 25

3.3 查詢方法的創(chuàng)建 26

3.4 關(guān)鍵字列表 27

3.5 方法的查詢策略的屬性表達(dá)式 29

3.6 查詢結(jié)果的處理 29

3.6.1 參數(shù)選擇分頁(yè)和排序(Pageable/Sort) 29

3.6.2 查詢結(jié)果的不同形式(List/Stream/Page/Future) 30

3.6.3 Projections對(duì)查詢結(jié)果的擴(kuò)展 31

3.7 實(shí)現(xiàn)機(jī)制介紹 34

第4章 注解式查詢方法 36

4.1 @Query詳解 36

4.1.1 語(yǔ)法及源碼 36

4.1.2 @Query用法 37

4.1.3 @Query排序 38

4.1.4 @Query分頁(yè) 39

4.2 @Param用法 40

4.3 SpEL表達(dá)式的支持 40

4.4 @Modifying修改查詢 41

4.5 @QueryHints 42

4.6 @Procedure儲(chǔ)存過(guò)程的查詢方法 43

4.7 @NamedQueries預(yù)定義查詢 44

4.7.1 簡(jiǎn)介 44

4.7.2 用法舉例 45

4.7.3 @NamedQuery、@Query和方法定義查詢的對(duì)比 45

第5章 @Entity實(shí)例里面常用注解詳解 46

5.1 javax.persistence概況介紹 46

5.2 基本注解 48

5.2.1 @Entity 48

5.2.2 @Table 49

5.2.3 @Id 50

5.2.4 @IdClass 50

5.2.5 @GeneratedValue 51

5.2.6 @Basic 52

5.2.7 @Transient 52

5.2.8 @Column 52

5.2.9 @Temporal 53

5.2.10 @Enumerated 53

5.2.11 @Lob 54

5.2.12 幾個(gè)注釋的配合使用 54

5.3 關(guān)聯(lián)關(guān)系注解 55

5.3.1 @JoinColumn 定義外鍵關(guān)聯(lián)的字段名稱 55

5.3.2 @OneToOne關(guān)聯(lián)關(guān)系 55

5.3.3 @OneToManyg與@ManyToOne關(guān)聯(lián)關(guān)系 56

5.3.4 @OrderBy關(guān)聯(lián)查詢時(shí)排序 57

5.3.5 @JoinTable關(guān)聯(lián)關(guān)系表 58

5.3.6 @ManyToMany關(guān)聯(lián)關(guān)系 59

5.4 Left join、Inner join與@EntityGraph 60

5.4.1 Left join與Inner join 60

5.4.2 @EntityGraph 61

5.5 關(guān)于關(guān)系查詢的一些坑 61

第二部分 晉級(jí)之高級(jí)部分

第6章 JpaRepository擴(kuò)展詳解 65

6.1 JpaRepository介紹 65

6.2 QueryByExampleExecutor的使用 66

6.2.1 QueryByExampleExecutor詳細(xì)配置 66

6.2.2 QueryByExampleExecutor的使用示例 67

6.2.3 QueryByExampleExecutor的特點(diǎn)及約束 68

6.2.4 ExampleMatcher詳解 68

6.2.5 QueryByExampleExecutor使用場(chǎng)景&實(shí)際的使用 70

6.2.6 QueryByExampleExecutor的原理 73

6.3 JpaSpecificationExecutor的詳細(xì)使用 74

6.3.1 JpaSpecificationExecutor的使用方法 74

6.3.2 Criteria概念的簡(jiǎn)單介紹 75

6.3.3 JpaSpecificationExecutor示例 76

6.3.4 Specification工作中的一些擴(kuò)展 78

6.3.5 JpaSpecificationExecutor實(shí)現(xiàn)原理 80

6.4 自定義Repository 81

6.4.1 EntityManager介紹 81

6.4.2 自定義實(shí)現(xiàn)Repository 82

6.4.3 實(shí)際工作的應(yīng)用場(chǎng)景 84

第7章 Spring Data JPA的擴(kuò)展 95

7.1 Auditing及其事件詳解 96

7.1.1 Auditing如何配置 96

7.1.2 @MappedSuperclass 98

7.1.3 Auditing原理解析 99

7.1.4 Listener事件的擴(kuò)展 101

7.2 @Version處理樂(lè)觀鎖的問(wèn)題 103

7.3 對(duì)MvcWeb的支持 105

7.3.1 @EnableSpringDataWebSupport 105

7.3.2 DomainClassConverter組件 105

7.3.3 HandlerMethodArgumentResolvers可分頁(yè)和排序 106

7.3.4 @PageableDefault改變默認(rèn)的page和size 108

7.3.5 Page原理解析 108

7.4 @EnableJpaRepositories詳解 110

7.4.1 Spring Data JPA加載Repositories配置簡(jiǎn)介 110

7.4.2 @EnableJpaRepositories詳解 111

7.4.3 JpaRepositoriesAutoConfiguration源碼解析 113

7.5 默認(rèn)日志簡(jiǎn)單介紹 114

7.6 Spring Boot JPA的版本問(wèn)題 117

第8章 DataSource的配置 119

8.1 默認(rèn)數(shù)據(jù)源的講解 120

8.1.1 通過(guò)三種方法查看默認(rèn)的DataSource 120

8.1.2 DataSource和JPA的配置屬性 123

8.1.3 JpaBaseConfiguration 124

8.1.4 Configuration思路 126

8.2 AliDruidDataSource的配置 126

8.3 事務(wù)的處理及其講解 129

8.3.1 默認(rèn)@Transactional注解式事務(wù) 129

8.3.2 聲明式事務(wù) 133

8.4 如何配置多數(shù)據(jù)源 134

8.4.1 在application.properties中定義兩個(gè)DataSource 134

8.4.2 定義兩個(gè)DataSourceConfigJava類 135

8.5 Naming命名策略詳解及其實(shí)踐 137

8.5.1 Naming命名策略詳解 137

8.5.2 實(shí)際工作中的一些擴(kuò)展 139

8.6 完整的傳統(tǒng)XML的配置方法 140

第三部分 延展部分

第9章 IntelliJ IDEA與Spring JPA 145

9.1 IntelliJ IDEA概述 145

9.2 DataBase插件 146

9.3 Persistence及JPA相關(guān)的插件介紹 150

9.4 IntelliJ IDEA分析源碼用到的視圖 155

第10章 Spring Data Redis詳解 158

10.1 Redis 之 Jedis 的使用 158

10.2 Spring Boot+Spring Data Redis配置 164

10.2.1 第1步:分析一下源碼 165

10.2.2 第2步:配置方法 168

10.2.3 第3步:調(diào)用的地方 170

10.2.4 第4步:總結(jié) 171

10.2.5 主要的幾個(gè)類&簡(jiǎn)單用法介紹 171

10.3 Spring Data Redis結(jié)合Spring Cache配置方法 172

10.3.1 Spring Cache 介紹 172

10.3.2 Spring Boot快速開(kāi)始Demo 176

10.3.3 Spring Boot Cache 實(shí)現(xiàn)過(guò)程解析 177

10.3.4 Cache和Spring Data Redis結(jié)合快速開(kāi)始 179

10.3.5 Spring Boot實(shí)現(xiàn)過(guò)程 182

第11章 SpEL表達(dá)式講解 189

11.1 SpEL介紹 189

11.1.1 SpEL主要特點(diǎn) 190

11.1.2 使用方法 190

11.2 SpEL的基礎(chǔ)語(yǔ)法 191

11.2.1 邏輯運(yùn)算操作 192

11.2.2 邏輯關(guān)系比較 193

11.2.3 邏輯關(guān)系 194

11.2.4 三元表達(dá)式& Elvis運(yùn)算符 194

11.2.5 正則表達(dá)式的支持 195

11.2.6 Bean的引用 195

11.2.7 List 和 Map 的操作 196

11.3 主要的類及其原理 197

11.3.1 ExpressionParser 197

11.3.2 root object 198

11.3.3 EvaluationContext 199

11.3.4 類型轉(zhuǎn)換 199

11.3.5 SpelParserConfiguration 編譯器配置 200

11.3.6 表達(dá)式模板設(shè)置 201

11.3.7 主要類關(guān)系圖 202

11.3.8 SpEL支持的一些特性 202

11.4 Spring的主要使用場(chǎng)景 203

11.4.1 Spring Data JPA中SpEL支持 203

11.4.2 Spring Cachae 204

11.4.3 @Value 204

11.4.4 Web 驗(yàn)證應(yīng)用場(chǎng)景 205

11.4.5 總結(jié) 205

第12章 Spring Data REST 206

12.1 快速入門 206

12.1.1 Spring Data REST介紹 206

12.1.2 快速開(kāi)始 208

12.1.3 Repository資源接口介紹 215

12.2 Spring Data REST定制化 216

12.2.1 @RepositoryRestResource改變***Repository對(duì)應(yīng)的Path路徑和資源名字 216

12.2.2 @RestResource 改變SearchPath 217

12.2.3 改變返回結(jié)果 218

12.2.4 隱藏某些Repository、Repository的查詢方法或@Entity關(guān)系字段 219

12.2.5 隱藏Repository的CRUD方法 219

12.2.6 自定義JSON輸出 220

12.3 Spring Boot 2.0加載原理 220

12.4 未來(lái)發(fā)展 222

附錄1 Repository Query Method 關(guān)鍵字列表 223

附錄2 Repository Query Method 返回值類型 226

附錄3 JPA注解大全 228

附錄4 Spring中涉及的注解 232

附錄5 application.properties 里面關(guān)于JPA的配置大全 235


本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)