全⽹最全JPA总结:《SpringDataJPA⼊门实战与进阶》《Spring Data JPA ⼊门 实战 进阶 》
【部分 基础知识】
第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
druid连接池配置详解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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。