内容简介

本书以Spring Boot为技术基础,从入门到精通,由浅入深地介绍Spring Data JPA的使用。有语法,有实践,有原理剖析。

本书分为12章,内容包括整体认识JPA、JPA基础查询方法、定义查询方法、注解式查询方法、@Entity实例里面常用注解详解、JpaRepository扩展详解、JPA的MVC扩展REST支持、DataSource的配置、乐观锁、SpEL表达式在Spring Data里面的应用、Spring Data Redis实现cacheable的实践、IntelliJ IDEA加快开发效率、Spring Data REST简单介绍等。

本书适合Java开发初学者、Java开发工程师、Java开发架构师阅读,也适合高等院校和培训学校相关专业的师生教学参考。

前  言

本书初衷

随着Java技术和微服务技术逐渐广泛应用,Spring Cloud、Spring Boot逐渐统一Java的框架江湖。市场上的ORM框架也逐渐被人重视起来。Spring Data逐渐走入Java开发者的视野,被很多架构师作为ORM框架的技术选型。市场上没有对Spring Data JPA的完整介绍。资料比较零散,很难一下子全面、深入地掌握Spring Data JPA。本书注重从实际出发来提高从事Java开发者的工作效率,可以作为一本很好的自我学习手册和Spring Data JPA的查阅手册。“不仅授之以鱼,还授之以渔”,不仅告诉大家是什么、怎么用,还告诉大家学习步骤、怎么学习,以及原理、使用技巧与实践。全书以Spring Boot为技术基础,从入门到精通,由浅入深地介绍和使用Spring Data JPA,很适合Java的初学者从此弯道超车,走上Spring全家桶学习的快车道。

“未来已经来临,只是尚未流行”

纵观市场上的ORM框架,MyBitas以灵活著称,但是要维护复杂的配置,并且不是Spring官方的天然全家桶,还得做额外的配置工作,即使是资深的架构师也得做很多封装;Hibernate以HQL和关系映射著称,但是使用起来不是特别灵活。这样Spring Data JPA来了,感觉要夺取ORM的JPA霸主地位了,它底层以Hibernate为封装,对外提供了超级灵活的使用接口,又非常符合面向对象和REST的风格,越来越多的API层面的封装都是以Spring Data JPA为基础的,感觉是架构师和开发者的福音。Spring Data JPA与Spring Boot配合起来使用具有天然的优势,你会发现越来越多的公司招聘会由传统的SSH、Spring、MyBitas技术要求逐步地变为Spring Boot、Spring Cloud、Spring Data等Spring 全家桶技术的要求。

追本溯源

架构师在架构设计系统之前都要先设计各种业务模型、数据模型,其实在众多技术框架中,要掌握Spring Boot、Spring MVC、Spring Cloud、微服务架构等,都离不开底层数据库操作层,如果我们能很好地掌握Data这层的技术要领,从下往上学习,这样可能会更好掌握一些。

本书特色

(1)本书针对Java开发者、Spring的使用者,是Spring Data JPA开发必备书籍。

(2)本书从介绍到使用再到原理和实践,可以作为一本很好的Spring Data JPA的实战手册。

(3)本书的代码清晰,迭代完整,便于全面、完整地掌握和学习JPA。

(4)本书注重从实战经验方面进行讲解,非常实用,一点即破。

(5)本书原型PPT深受同事喜爱,并在企业内部培训的时候得到了很多Java程序员的肯定。

阅读指南

本书以Spring Boot为开发基础和线索,大量采用了UML释义的讲解方式。本书分为3个部分,共12章。

(1)基础部分:整体认识JPA、JPA基础查询方法、定义查询方法、注解式查询方法、@Entity实例里面常用注解详解,了解Spring Data JPA的基本使用和语法。

(2)晋级之高级部分:JpaRepository详解、JPA的MVC扩展Rest支持、DataSource的配置、乐观锁等,了解其背后的实现动机及其原理。

(3)延展部分:SpEL表达式在Spring Data里面的应用、Spring Data Redis实现cacheable的实践、IntelliJ IDEA加快开发效率、Spring Data Rest的介绍,直至整个Spring Data的生态。

另外,由于Spring Boot 2.0的版本Spring Data JPA有了一些变化,作者对Spring Boot 2.0中的JPA也做了一些总结,作为本书的配套阅读内容。可以通过扫描如下二维码查看:

技术支持

本书示例源代码下载地址(注意数字与字母大小写)如下:

https://github.com/zhangzhenhuajack/spring-data-jpa-guide

如果下载有问题,请联系电子邮箱booksaga@163.com,邮件主题为“Spring Data JPA从入门到精通”。

虽然本书是以Spring Boot为配置案例的教程,但是实际工作中,我们可能用XML甚至是混合的模式,还有可能是MyBatis的方式,所以实战不免会超出本书范畴,欢迎加群进行讨论,一起进步。交流QQ群号如下:

? QQ群一:240619787。

? QQ群二:559701472。

致谢

首先,感谢清华大学出版社各位编辑的辛勤劳动,得以让此书面世。其次,感谢家人对我的支持,特别是老婆大人在我写作过程中承担了大量的家务,比较辛苦。最后,特别感谢帮我写书评的行业技术大神们,也非常感谢日常工作中提供帮助的同事们以及技术社区的技术达人们,感谢大家提供的技术资料。

著  者

2018年3月

《Spring Data JPA从入门到精通》内容简介、前言的更多相关文章

  1. Spring Data JPA —— 快速入门

    一.概述 JPA : Java Persistence API, Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. Spring D ...

  2. Spring Data JPA -1-CRUD入门

    1) 引入jar包支持 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...

  3. Spring data JPA 快速入门

    1需求 ​ 向客户中插入一条数据 ​ 如果使用Jpa框架可以不用先建表 可以使用框架生成表 ​ 2 实现步骤 ​ a 创建工程 使用maven管理工程 <properties>       ...

  4. 【Spring Data 系列学习】了解 Spring Data JPA 、 Jpa 和 Hibernate

    在开始学习 Spring Data JPA 之前,首先讨论下 Spring Data Jpa.JPA 和 Hibernate 之前的关系. JPA JPA 是 Java Persistence API ...

  5. 【Spring Data 系列学习】Spring Data JPA 自定义查询,分页,排序,条件查询

    Spring Boot Jpa 默认提供 CURD 的方法等方法,在日常中往往时无法满足我们业务的要求,本章节通过自定义简单查询案例进行讲解. 快速上手 项目中的pom.xml.application ...

  6. 整合Spring Data JPA与Spring MVC: 分页和排序

    之前我们学习了如何使用Jpa访问关系型数据库.比较完整Spring MVC和JPA教程请见Spring Data JPA实战入门,Spring MVC实战入门. 通过Jpa大大简化了我们对数据库的开发 ...

  7. 整合Spring Data JPA与Spring MVC: 分页和排序pageable

    https://www.tianmaying.com/tutorial/spring-jpa-page-sort Spring Data Jpa对于分页以及排序的查询也有着完美的支持,接下来,我们来学 ...

  8. Spring Boot从入门到精通(九)整合Spring Data JPA应用框架

    JPA是什么? JPA全称Java Persistence API,是Sun官方提出的Java持久化规范.是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. ...

  9. spring data jpa入门学习

    本文主要介绍下spring data jpa,主要聊聊为何要使用它进行开发以及它的基本使用.本文主要是入门介绍,并在最后会留下完整的demo供读者进行下载,从而了解并且开始使用spring data ...

  10. 【ORM框架】Spring Data JPA(一)-- 入门

    本文参考:spring Data JPA入门   [原创]纯干货,Spring-data-jpa详解,全方位介绍  Spring Data JPA系列教程--入门 一.Spring Data JPA介 ...

随机推荐

  1. CF1951

    A link 这个题就是讨论. 首先,如果没有\(1\)就一定可以. 如果有\(1\). 如果长度为\(2\)一定不行. \(1\)的个数为奇数不行. 如果为偶数 有一个小点:如果是\(2\)个\(1 ...

  2. 【超实用攻略】SpringBoot + validator 轻松实现全注解式的参数校验

    一.故事背景 关于参数合法性验证的重要性就不多说了,即使前端对参数做了基本验证,后端依然也需要进行验证,以防不合规的数据直接进入服务器,如果不对其进行拦截,严重的甚至会造成系统直接崩溃! 本文结合自己 ...

  3. 面试题-python 什么是闭包(closure)?

    前言 前面学了装饰器,那么闭包和装饰器有什么区别呢?闭包传递的是变量,而装饰器传递的是函数对象,只是传的参数内容不一样,闭包的概念包含了装饰器,可以说装饰器是闭包的一种,它只是传递函数对象的闭包. 先 ...

  4. OkHttp 快速掌握

    OkHttp是一个高效的HTTP库,它提供了许多优化和便利功能,使得我们能够更高效地使用HTTP协议进行通信. 一些主要特性包括: 支持SPDY协议:SPDY协议是Google开发的一种HTTP传输协 ...

  5. Nuxt.js 路由管理:useRouter 方法与路由中间件应用

    title: Nuxt.js 路由管理:useRouter 方法与路由中间件应用 date: 2024/7/28 updated: 2024/7/28 author: cmdragon excerpt ...

  6. centos8配置网络环境及阿里云网络yum源

    一.centos8配置网络环境 1.修改配置网卡配置文件 [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens18 TYPE ...

  7. ArcGIS for Android入门(Java):初体验

    准备工作 开发工具:Android Studio 环境:jdk 11 (首次接触安卓开发,可能有的地方不太对,还请给位大佬多多指点) 项目搭建 打开Android Studio,点击New Proje ...

  8. 【Vue】分组类型排名查询功能

    一.书接上回: https://www.cnblogs.com/mindzone/p/17749725.html 这个效果被否决了,产品要求一定要UI的来,UI效果如图: 按人为主体的时候,固定有4个 ...

  9. 【Uni-App】组件笔记

    官网文档地址: https://uniapp.dcloud.io/component/README 组件是视图层的基本组成单元. 组件是一个单独且可复用的功能模块的封装. 每个组件,包括如下几个部分: ...

  10. NVIDIA 创始人黄仁勋谈创建公司的最初6个月 —— 不要去写商业计划书

    地址: https://www.youtube.com/watch?v=yU3GUHDf0mk