《Spring Data JPA从入门到精通》内容简介、前言
内容简介
本书以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从入门到精通》内容简介、前言的更多相关文章
- Spring Data JPA —— 快速入门
一.概述 JPA : Java Persistence API, Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. Spring D ...
- Spring Data JPA -1-CRUD入门
1) 引入jar包支持 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...
- Spring data JPA 快速入门
1需求 向客户中插入一条数据 如果使用Jpa框架可以不用先建表 可以使用框架生成表 2 实现步骤 a 创建工程 使用maven管理工程 <properties> ...
- 【Spring Data 系列学习】了解 Spring Data JPA 、 Jpa 和 Hibernate
在开始学习 Spring Data JPA 之前,首先讨论下 Spring Data Jpa.JPA 和 Hibernate 之前的关系. JPA JPA 是 Java Persistence API ...
- 【Spring Data 系列学习】Spring Data JPA 自定义查询,分页,排序,条件查询
Spring Boot Jpa 默认提供 CURD 的方法等方法,在日常中往往时无法满足我们业务的要求,本章节通过自定义简单查询案例进行讲解. 快速上手 项目中的pom.xml.application ...
- 整合Spring Data JPA与Spring MVC: 分页和排序
之前我们学习了如何使用Jpa访问关系型数据库.比较完整Spring MVC和JPA教程请见Spring Data JPA实战入门,Spring MVC实战入门. 通过Jpa大大简化了我们对数据库的开发 ...
- 整合Spring Data JPA与Spring MVC: 分页和排序pageable
https://www.tianmaying.com/tutorial/spring-jpa-page-sort Spring Data Jpa对于分页以及排序的查询也有着完美的支持,接下来,我们来学 ...
- Spring Boot从入门到精通(九)整合Spring Data JPA应用框架
JPA是什么? JPA全称Java Persistence API,是Sun官方提出的Java持久化规范.是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. ...
- spring data jpa入门学习
本文主要介绍下spring data jpa,主要聊聊为何要使用它进行开发以及它的基本使用.本文主要是入门介绍,并在最后会留下完整的demo供读者进行下载,从而了解并且开始使用spring data ...
- 【ORM框架】Spring Data JPA(一)-- 入门
本文参考:spring Data JPA入门 [原创]纯干货,Spring-data-jpa详解,全方位介绍 Spring Data JPA系列教程--入门 一.Spring Data JPA介 ...
随机推荐
- python的基本认识
python的基本认识 初识python: python是一种跨平台的.开源的.免费的.解释型的高级编程语言: python的应用领域十分广泛.如web编程.图像处理.黑客编程.网络爬虫和科学计算等: ...
- FP分数规划在无线通信中的应用
更多精彩内容请关注微信公众号 '优化与算法' 前言 在数学优化中,分数规划是线性分式规划的推广.分数规划中的目标函数是两个函数的比值,这两个函数通常是非线性的.要优化的比值通常描述系统的某种效率. 1 ...
- 对比python学julia(第四章:人工智能)--(第二节)人脸识别
2.1. 项目简介 人脸识别是基于人的脸部特征信息进行身份识别的一种图像识别技术.使用0PenCV 进行人脸识别的过程如下. (1) 针对每个识别对象收集大量的人脸图傣作为样本. (2) 将样本 ...
- Vue打包部署到CentOS 7
项目打包 在项目目录下执行打包目录进行打包 yarn build // 或者 npm run build 打包完成后会生成一个dist文件夹,这样就打包完成了(我这样做了SEO的,所有目录结构有点不一 ...
- 【MUI】工作总结
1.快速创建页面结构: mDoctype HTML: <!doctype html> <html lang="en"> <head> <m ...
- conda环境下Python报错:raise MissingCUDAException("CUDA_HOME does not exist, unable to compile CUDA op(s)") CUDA_HOME does not exist, unable to compile CUDA op(s)
conda环境下Python报错: (pytorch) devil@Monster:~$ pip install deepspeed Collecting deepspeed Using cached ...
- 【转载】 深度学习——Xavier初始化方法
版权声明:本文为CSDN博主「shuzfan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/shuzfan/a ...
- springboot项目启动时禁止Redis、数据对象加载
1.背景 2.实现方式 启动类上添加需要排除的自动装配对象 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, H ...
- DataOps 新趋势:联通数科如何利用 DolphinScheduler 实现数据一体化管理
引言 在DataOps(数据运营)的推动下,越来越多的企业开始关注数据研发和运营的一体化建设.DataOps通过自动化和流程优化,帮助企业实现数据的高效流转和管理. 当前,Apache Dolphin ...
- 全网最适合入门的面向对象编程教程:37 Python常用复合数据类型-列表和列表推导式
全网最适合入门的面向对象编程教程:37 Python 常用复合数据类型-列表和列表推导式 摘要: 在 Python 中,列表是一个非常灵活且常用的复合数据类型.它允许存储多个项,这些项可以是任意的数据 ...