资源名称:Spring Data JPA从入门到精通

作者简介:

张振华,先后在驴妈妈、携程、要买车等公司担任过Java高级工程师、架构师、开发主管、技术经理等职务,有丰富的电商公司的互联网工作经验。在电商公司工作期间,负责过PC站和后端服务的平台架构、实现和升级。目前从事Spring相关的Java架构工作,对Spring整个全家桶特别钟爱。从业十几年来没有离开过Java。著有图书《Java并发编程从入门到精通》。

资源目录:

第一部分 基础部分

第1章 整体认识JPA 3

1.1 市场上ORM框架比对 3

1.2 JPA的介绍以及开源实现 4

1.3 了解Spring Data 5

1.3.1 Spring Data介绍 5

1.3.2 Spring Data的子项目 5

1.3.3 Spring Data操作的主要特性 6

1.4 Spring Data JPA的主要类及结构图 7

1.5 MySQL的快速开发实例 8

第2章 JPA基础查询方法 13

2.1 Spring Data Common的Repository 13

2.2 Repository的类层次关系 (diagms/hierarchy/structure) 14

2.3 CrudRepository方法详解 16

2.3.1 CrudRepository interface内容 17

2.3.2 CrudRepository interface的使用示例 18

2.4 PagingAndSortingRepository方法详解 19

2.4.1 PagingAndSortingRepository interface 内容 19

2.4.2 PagingAndSortingRepository使用示例 20

2.5 JpaRepository方法详解 21

2.5.1 JpaRepository详解 21

2.5.2 JpaRepository的使用方法 21

2.6 Repository的实现类SimpleJpaRepository 22

第3章 定义查询方法 24

3.1 定义查询方法的配置方法 24

3.2 方法的查询策略设置 25

3.3 查询方法的创建 26

3.4 关键字列表 27

3.5 方法的查询策略的属性表达式 29

3.6 查询结果的处理 29

3.6.1 参数选择分页和排序(Pageable/Sort) 29

3.6.2 查询结果的不同形式(List/Stream/Page/Future) 30

3.6.3 Projections对查询结果的扩展 31

3.7 实现机制介绍 34

第4章 注解式查询方法 36

4.1 @Query详解 36

4.1.1 语法及源码 36

4.1.2 @Query用法 37

4.1.3 @Query排序 38

4.1.4 @Query分页 39

4.2 @Param用法 40

4.3 SpEL表达式的支持 40

4.4 @Modifying修改查询 41

4.5 @QueryHints 42

4.6 @Procedure储存过程的查询方法 43

4.7 @NamedQueries预定义查询 44

4.7.1 简介 44

4.7.2 用法举例 45

4.7.3 @NamedQuery、@Query和方法定义查询的对比 45

第5章 @Entity实例里面常用注解详解 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 几个注释的配合使用 54

5.3 关联关系注解 55

5.3.1 @JoinColumn 定义外键关联的字段名称 55

5.3.2 @OneToOne关联关系 55

5.3.3 @OneToManyg与@ManyToOne关联关系 56

5.3.4 @OrderBy关联查询时排序 57

5.3.5 @JoinTable关联关系表 58

5.3.6 @ManyToMany关联关系 59

5.4 Left join、Inner join与@EntityGraph 60

5.4.1 Left join与Inner join 60

5.4.2 @EntityGraph 61

5.5 关于关系查询的一些坑 61

第二部分 晋级之高级部分

第6章 JpaRepository扩展详解 65

6.1 JpaRepository介绍 65

6.2 QueryByExampleExecutor的使用 66

6.2.1 QueryByExampleExecutor详细配置 66

6.2.2 QueryByExampleExecutor的使用示例 67

6.2.3 QueryByExampleExecutor的特点及约束 68

6.2.4 ExampleMatcher详解 68

6.2.5 QueryByExampleExecutor使用场景&实际的使用 70

6.2.6 QueryByExampleExecutor的原理 73

6.3 JpaSpecificationExecutor的详细使用 74

6.3.1 JpaSpecificationExecutor的使用方法 74

6.3.2 Criteria概念的简单介绍 75

6.3.3 JpaSpecificationExecutor示例 76

6.3.4 Specification工作中的一些扩展 78

6.3.5 JpaSpecificationExecutor实现原理 80

6.4 自定义Repository 81

6.4.1 EntityManager介绍 81

6.4.2 自定义实现Repository 82

6.4.3 实际工作的应用场景 84

第7章 Spring Data JPA的扩展 95

7.1 Auditing及其事件详解 96

7.1.1 Auditing如何配置 96

7.1.2 @MappedSuperclass 98

7.1.3 Auditing原理解析 99

7.1.4 Listener事件的扩展 101

7.2 @Version处理乐观锁的问题 103

7.3 对MvcWeb的支持 105

7.3.1 @EnableSpringDataWebSupport 105

7.3.2 DomainClassConverter组件 105

7.3.3 HandlerMethodArgumentResolvers可分页和排序 106

7.3.4 @PageableDefault改变默认的page和size 108

7.3.5 Page原理解析 108

7.4 @EnableJpaRepositories详解 110

7.4.1 Spring Data JPA加载Repositories配置简介 110

7.4.2 @EnableJpaRepositories详解 111

7.4.3 JpaRepositoriesAutoConfiguration源码解析 113

7.5 默认日志简单介绍 114

7.6 Spring Boot JPA的版本问题 117

第8章 DataSource的配置 119

8.1 默认数据源的讲解 120

8.1.1 通过三种方法查看默认的DataSource 120

8.1.2 DataSource和JPA的配置属性 123

8.1.3 JpaBaseConfiguration 124

8.1.4 Configuration思路 126

8.2 AliDruidDataSource的配置 126

8.3 事务的处理及其讲解 129

8.3.1 默认@Transactional注解式事务 129

8.3.2 声明式事务 133

8.4 如何配置多数据源 134

8.4.1 在application.properties中定义两个DataSource 134

8.4.2 定义两个DataSourceConfigJava类 135

8.5 Naming命名策略详解及其实践 137

8.5.1 Naming命名策略详解 137

8.5.2 实际工作中的一些扩展 139

8.6 完整的传统XML的配置方法 140

第三部分 延展部分

第9章 IntelliJ IDEA与Spring JPA 145

9.1 IntelliJ IDEA概述 145

9.2 DataBase插件 146

9.3 Persistence及JPA相关的插件介绍 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步:调用的地方 170

10.2.4 第4步:总结 171

10.2.5 主要的几个类&简单用法介绍 171

10.3 Spring Data Redis结合Spring Cache配置方法 172

10.3.1 Spring Cache 介绍 172

10.3.2 Spring Boot快速开始Demo 176

10.3.3 Spring Boot Cache 实现过程解析 177

10.3.4 Cache和Spring Data Redis结合快速开始 179

10.3.5 Spring Boot实现过程 182

第11章 SpEL表达式讲解 189

11.1 SpEL介绍 189

11.1.1 SpEL主要特点 190

11.1.2 使用方法 190

11.2 SpEL的基础语法 191

11.2.1 逻辑运算操作 192

11.2.2 逻辑关系比较 193

11.2.3 逻辑关系 194

11.2.4 三元表达式& Elvis运算符 194

11.2.5 正则表达式的支持 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 类型转换 199

11.3.5 SpelParserConfiguration 编译器配置 200

11.3.6 表达式模板设置 201

11.3.7 主要类关系图 202

11.3.8 SpEL支持的一些特性 202

11.4 Spring的主要使用场景 203

11.4.1 Spring Data JPA中SpEL支持 203

11.4.2 Spring Cachae 204

11.4.3 @Value 204

11.4.4 Web 验证应用场景 205

11.4.5 总结 205

第12章 Spring Data REST 206

12.1 快速入门 206

12.1.1 Spring Data REST介绍 206

12.1.2 快速开始 208

12.1.3 Repository资源接口介绍 215

12.2 Spring Data REST定制化 216

12.2.1 @RepositoryRestResource改变***Repository对应的Path路径和资源名字 216

12.2.2 @RestResource 改变SearchPath 217

12.2.3 改变返回结果 218

12.2.4 隐藏某些Repository、Repository的查询方法或@Entity关系字段 219

12.2.5 隐藏Repository的CRUD方法 219

12.2.6 自定义JSON输出 220

12.3 Spring Boot 2.0加载原理 220

12.4 未来发展 222

附录1 Repository Query Method 关键字列表 223

附录2 Repository Query Method 返回值类型 226

附录3 JPA注解大全 228

附录4 Spring中涉及的注解 232

附录5 application.properties 里面关于JPA的配置大全 235

资源截图:

1.png

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长QQ&VX:1754646538 提供付款信息为您处理。

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源。