• SpringDataJPA:入门、实战与进阶
  • SpringDataJPA:入门、实战与进阶
21年品牌 40万+商家 超1.5亿件商品

SpringDataJPA:入门、实战与进阶

全新正版 极速发货

93 7.2折 129 全新

库存2件

浙江嘉兴
认证卖家担保交易快速发货售后保障

作者张振华 著

出版社机械工业出版社

ISBN9787111692201

出版时间2021-10

装帧平装

开本16开

定价129元

货号31295691

上书时间2024-11-17

學源图书专营店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介

张振华
Java研发工程师和架构师,在Java技术栈领域有丰富的实战经验,善于总结和分析问题,善于透过问题本质来解决实际工作中遇到的问题。
曾就职于驴妈妈旅游网、上海携程旅行网、上海要买车网等互联网公司,有丰富的电商网站实战经验,就职期间担任过开发人员、架构师、技术专家等,对微服务体系有很深刻的认识。
热衷于技术探索和研发,在GitChat、拉勾教育、CSDN上分享了大量关于Spring Data JPA、Java架构底层原理的文章,并获得一致好评。




目录
前 言<br/>第一部分 基础知识<br/>第1章 初识Spring Data JPA  2<br/>1.1 Spring Boot和JPA演示  2<br/>1.2 JPA如何整合MySQL数据库  8<br/>1.2.1 切换MySQL数据源  8<br/>1.2.2 Spring Data JPA测试用例的写法  10<br/>1.3 整体认识JPA  11<br/>1.3.1 市场上ORM框架的对比  11<br/>1.3.2 JPA简介和开源实现  12<br/>1.4 认识Spring Data  13<br/>1.4.1 Spring Data简介  13<br/>1.4.2 Spring Data的子项目  14<br/>1.5 本章小结  15<br/>第2章 全面掌握Spring Data Commons之Repository  16<br/>2.1 Spring Data Commons的依赖关系  16<br/>2.2 Repository接口  17<br/>2.2.1 查看Repository源码  17<br/>2.2.2 Repository类层次关系  17<br/>2.2.3 Repository接口的实际案例  19<br/>2.3 CrudRepository接口  21<br/>2.4 PagingAndSortingRepository接口  23<br/>2.4.1 PagingAndSortingRepository的源码  23<br/>2.4.2 PagingAndSortingRepository的使用案例  24<br/>2.5 JpaRepository接口  25<br/>2.6 Repository的实现类SimpleJpaRepository  26<br/>2.7 Repository接口的启发  27<br/>2.8 本章小结  28<br/>第3章 定义查询方法的命名语法与参数  29<br/>3.1 定义查询方法的配置和使用方法  29<br/>3.1.1 直接通过方法名实现CRUD步骤  30<br/>3.1.2 选择性暴露CRUD方法  30<br/>3.2 方法的查询策略设置  31<br/>3.3 定义查询方法的语法  32<br/>3.3.1 语法剖析  32<br/>3.3.2 关键源码  34<br/>3.4 特定类型的参数:Sort和Pageable  36<br/>3.5 限制查询结果:First和Top  38<br/>3.6 @NonNull、@NonNullApi和@Nullable关键字  38<br/>3.7 给我们的一些思考  39<br/>3.8 本章小结  43<br/>第4章 利用Repository中的方法返回值来解决实际问题  44<br/>4.1 Repository的返回结果  44<br/>4.1.1 自定义Streamable  46<br/>4.1.2 返回结果类型List/Stream/Page/Slice  46<br/>4.1.3 Repository对Feature/CompletableFuture异步返回结果的支持  52<br/>4.1.4 对Reactive的支持:Flux与Mono  53<br/>4.1.5 小结  53<br/>4.2 最常见的DTO返回结果的支持方法  56<br/>4.2.1 Projections概念  56<br/>4.2.2 第一种方法:新建一张表的不同Entity  57<br/>4.2.3 第二种方法:直接定义一个UserOnlyNameEmailDto  58<br/>4.2.4 第三种方法:返回结果是一个POJO的接口  60<br/>4.2.5 写查询方法的一个小技巧  62<br/>4.3 本章小结  62<br/>第5章 @Query语法详解及其应用  63<br/>5.1 快速体验@Query的方法  63<br/>5.2 JpaQueryLookupStrategy关键源码剖析  64<br/>5.3 @Query的基本用法  66<br/>5.3.1 JPQL的语法  67<br/>5.3.2 @Query的用法案例  68<br/>5.3.3 @Query的排序  68<br/>5.3.4 @Query的分页  69<br/>5.3.5 @Param的用法  70<br/>5.4 @Query之Projections应用返回指定DTO  70<br/>5.4.1 利用UserDto类  72<br/>5.4.2 利用UserDto接口  73<br/>5.5 @Query动态查询解决方法  74<br/>5.6 本章小结  77<br/>第6章 @Entity的常用注解及Java多态场景应用  78<br/>6.1 JPA协议中关于实体的相关规定  78<br/>6.2 实体里面常见的注解  79<br/>6.3 生成注解的小技巧  85<br/>6.4 联合主键  86<br/>6.4.1 如何通过@IdClass实现联合主键  86<br/>6.4.2 @Embeddable与@EmbeddedId注解的使用  88<br/>6.5 如何实现实体之间的继承关系  89<br/>6.5.1 @Inheritance(strategy?=?InheritanceType.SINGLE_TABLE)  90<br/>6.5.2 @Inheritance(strategy?=?InheritanceType.JOINED)  91<br/>6.5.3 @Inheritance(strategy?=?InheritanceType.TABLE_PER_CLASS)  93<br/>6.5.4 关于继承关系的经验之谈  94<br/>6.6 本章小结  95<br/>第7章 实体之间关联关系注解的正确使用  96<br/>7.1 @OneToOne  96<br/>7.1.1 @OneToOne的源码解读  98<br/>7.1.2 mappedBy的注意事项  99<br/>7.1.3 CascadeType的用法  99<br/>7.1.4 orphanRemoval的属性用法  100<br/>7.1.5 主键和外键都是同一个字段  101<br/>7.1.6 @OneToOne延迟加载下只需要ID值  102<br/>7.1.7 @OneToOne的最佳实践  104<br/>7.2 @JoinCloumns和@JoinColumn  105<br/>7.3 @ManyToOne和@OneToMany  106<br/>7.4 @ManyToMany  110<br/>7.4.1 利用@ManyToOne和@OneToMany表达多对多的关联关系  112<br/>7.4.2 @ManyToMany的最佳实践  114<br/>7.5 本章小结  114<br/>第8章 Jackson在实体里面的注解详解  115<br/>8.1 Jackson的基本语法  115<br/>8.1.1 三个核心模块  116<br/>8.1.2 Jackson提供的扩展jar包  116<br/>8.1.3 Jackson中常用的一些注解  117<br/>8.1.4 实例  118<br/>8.2 Jackson和Spring的关系  121<br/>8.2.1 应用场景一:Spring MVC的View层  121<br/>8.2.2 应用场景二:Open-Feign  121<br/>8.2.3 应用场景三:Redis里面  122<br/>8.2.4 应用场景四:JMS消息序列化  122<br/>8.3 Jackson的原理分析  123<br/>8.3.1 Jackson的可见性原理分析  123<br/>8.3.2 反序列化最重要的方法  124<br/>8.3.3 Module的加载机制  126<br/>8.4 Jackson与JPA常见的问题  127<br/>8.4.1 如何解决死循环问题  127<br/>8.4.2 JPA实体JSON序列化的常见报错及解决方法  128<br/>8.4.3 推荐的配置项  129<br/>8.4.4 JSON序列化和Java序列化  131<br/>8.5 本章小结  131<br/>第二部分 高阶用法与实例<br/>第9章 QueryByExampleExecutor的用法和原理分析  135<br/>9.1 QueryByExampleExecutor的用法  135<br/>9.1.1 基本方法  135<br/>9.1.2 使用案例  136<br/>9.2 QueryByExampleExecutor的语法  140<br/>9.2.1 Example的语法详解  140<br/>9.2.2 ExampleMatcher方法概述  141<br/>9.2.3 初始化ExampleMatcher实例的方法  142<br/>9.2.4 ExampleMatcher的语法  143<br/>9.2.5 ExampleMatcher的完整例子  145<br/>9.2.6 使用QueryByExampleExecutor时需要考虑的因素  146<br/>9.3 QueryByExampleExecutor的实现原理  146<br/>9.3.1 QueryByExampleExecutor的源码分析  146<br/>9.3.2 JpaSpecificationExecutor的接口结构  148<br/>9.3.3 通过QBE反向思考JpaSpecificationExecutor  149<br/>9.4 本章小结  149<br/>第10章 JpaSpecificationExecutor的实现原理  150<br/>10.1 JpaSpecificationExecutor的使用案例  150<br/>10.2 JpaSpecificationExecutor的语法详解  154<br/>?10.2.1 Root<User> root  156<br/>?10.2.2 CriteriaQuery<?> query  156<br/>?10.2.3 CriteriaBuilder  157<br/>10.3 JpaSpecificationExecutor的原理分析  158<br/>10.4 JpaSpecificationExecutor实战  160<br/>?10.4.1 自定义MySpecification  161<br/>?10.4.2 利用Specification创建以search为查询条件的RESTful API  163<br/>10.5 本章小结  165<br/>第11章 Querydsl在JPA中的应用  166<br/>11.1 Querydsl快速入门  166<br/>11.2 Querydsl的语法  170<br/>?11.2.1 QuerydslPredicateExecutor  170<br/>?11.2.2 QuerydslBinderCustomizer  172<br/>?11.2.3 类型安全的应用  174<br/>11.3 Querydsl对WebMVC的支持<br/> 及源码分析  175<br/>?11.3.1 @QuerydslPredicate注解  175<br/>?11.3.2 QuerydslPredicateArgument-<br/> Resolver源码分析  177<br/>11.4 本章小结  179<br/>第12章 如何自定义Repository  180<br/>12.1 EntityManager简介  180<br/>?12.1.1 EntityManager的常用方法  180<br/>?12.1.2 EntityManager的使用  182<br/>12.2 @EnableJpaRepositories详解  183<br/>?12.2.1 @EnableJpaRepositories的语法  183<br/>?12.2.2 @EnableJpaRepositories的默认加载方式  185<br/>12.3 自定义Repository的实现类的方法  186<br/>?12.3.1 第一种方法:定义独立的Repository的Impl实现类  186<br/>?12.3.2 第一种方法的原理分析  187<br/>?12.3.3 第二种方法:通过@EnableJpaRepositories定义默认的实现类  190<br/>?12.3.4 第二种方法的原理分析  192<br/>12.4 实际应用场景  193<br/>12.5 本章小结  193<br/>第13章 JPA的Auditing功能  194<br/>13.1 Auditing是什么  194<br/>13.2 如何实现Auditing  195<br/>?13.2.1 第一种方式:直接在实例里面添加上述四个注解  195<br/>?13.2.2 第二种方式:在实体里面实现Auditable接口  198<br/>?13.2.3 第三种方式:利用@MappedSuperclass注解  200<br/>13.3 JPA的Auditing功能解决了哪些问题  201<br/>13.4 Auditing的实现原理  202<br/>?13.4.1 Auditing的源码分析  202<br/>?13.4.2 结论  204<br/>13.5 本章小结  205<br/>第14章 @Entity回调方法的正确使用  206<br/>14.1 Java Persistence API规定的回调方法  206<br/>?14.1.1 Entity的回调事件注解  206<br/>?14.1.2 语法注意事项  207<br/>14.2 JPA回调注解的使用方法  207<br/>?14.2.1 第一种用法:在实体和super-class中使用  207<br/>?14.2.2 第二种用法:自定义EntityListener  212<br/>?14.2.3 关于@EntityListeners加载顺序的说明  214<br/>14.3 JPA回调注解的最佳实践  214<br/>14.4 JPA回调注解的实现原理和事件机制  216<br/>14.5 本章小结  217<br/>第15章 乐观锁机制和重试机制在实战中的应用  218<br/>15.1 什么是乐观锁  218<br/>15.2 乐观锁的实现方法  218<br/>?15.2.1 @Version的用法  219<br/>?15.2.2 @Version对Save方法的影响  222<br/>15.3 isNew判断的逻辑  222<br/>15.4 乐观锁机制和重试机制的实战  224<br/>?15.4.1 重试机制详解  224<br/>?15.4.2 @Retryable的详细用法  225<br/>?15.4.3 乐观锁+重试机制的最佳实践  227<br/>15.5 悲观锁的实现  227<br/>15.6 本章小结  228<br/>第16章 JPA对Web MVC开发的支持  229<br/>16.1 DomainClassConverter组件  230<br/>?16.1.1 一个实例  230<br/>?16.1.2 源码分析  231<br/>16.2 Page和Sort的参数支持  233<br/>?16.2.1 一个实例  233<br/>?16.2.2 原理分析  235<br/>16.3 Web MVC的参数绑定  236<br/>?16.3.1 一个实例  237<br/>?16.3.2 原理分析  238<br/>16.4 Querydsl的Web  MVC支持  239<br/>?16.4.1 一个实例  239≈lt;br/>?16.4.2 原理分析  241<br/>16.5 @DynamicUpdate和<br/> @DynamicInsert详解  242<br/>?16.5.1 通过语法快速了解  242<br/>?16.5.2 使用案例  243<br/>?16.5.3 只更新非Null的字段  246<br/>?16.5.4 @DynamicUpdate与@LastModifiedDate一起使用  248<br/>16.6 Spring Data对系统监控的支持  248<br/>16.7 本章小结  249<br/>第17章 自定义HandlerMethod-ArgumentResolver  250<br/>17.1 Page和Sort参数  250<br/>17.2 HandlerMethodArgumentResolver的用法  252<br/>?17.2.1 HandlerMethodArgument-Resolver详解  252<br/>?17.2.2 与HttpMessageConverter的关系  254<br/>?17.2.3 HttpMessageConverter的执行顺序  254<br/>17.3 HandlerMethodArgumentResolver实战  255<br/>?17.3.1 自定义HandlerMethod-ArgumentReso

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP