写在前面:在国内使用比较多的ORM框架应该就是Mybatis了,但是现在SpringBoot和SpringCloud这么火爆,而Spring-Data-Jpa同样作为Spring家族的成员,它们无缝的整合,使用方便,开发便捷。目前我所在的公司也是在使用Spring-Data-Jpa,虽然现阶段使用起来没什么问题, 但是想系统的学习一遍,让使用的时候更加得心应手。

一、什么是JPA

  JPA是Java Persistence API的简称,是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。通俗的说就是像JDBC一样是一套接口规范,让应用程序以统一的方式访问持久层。

  JPA包括以下3方面内容:

  1、一套API规范:在javax.persistence包下,用来操作实体对象,执行CRUD操作,框架在底层为我们完成操作。

  2、JPQL:面向对象的查询语言,避免程序和具体的SQL紧密耦合。

  3、ORM元数据映射:支持XML和注解两种元数据形式,元数据描述对象和表之间的关系,框架根据对应关系将实体对象持久化到数据库表中。

二、什么是Spring-Data-JPA

  是Spring-Data的主要子项目,可以理解为JPA规范的再次封装抽象,底层使用的是Hibernate的JPA技术实现,引用JPQL查询语言,属于Spring整个生态系统的一部分。

三、项目搭建

  项目搭建就很容易了,我们直接使用IDEA,来创建SpringBoot项目,并勾选相关选项就好了,Spring-Data-Jpa必选,Lombok让我们代码更简洁一些。

    

  需要注意的是,SpringBoot2.2.0当中使用的驱动是mysql8,而我本地是mysql5.7,需要改一下驱动的版本号,配置文件也有点区别。如果你的数据库是8的话,spring.datasource.driver-class-name

则使用com.mysql.cj.jdbc.Driver

     

然后,运行测试用例,不报错即可。

源码地址:https://github.com/caofanqi/study-spring-data-jpa

  

学习Spring-Data-Jpa(一)---JPA、Spring-Data-Jpa简介的更多相关文章

  1. Spring Boot 应用系列 1 -- Spring Boot 2 整合Spring Data JPA和Druid,双数据源

    最近Team开始尝试使用Spring Boot + Spring Data JPA作为数据层的解决方案,在网上逛了几圈之后发现大家并不待见JPA,理由是(1)MyBatis简单直观够用,(2)以Hib ...

  2. Spring Data JPA教程, 第四部分: JPA Criteria Queries(未翻译)

    The third part of my Spring Data JPA tutorialdescribed how you can create custom queries by using qu ...

  3. Spring Boot (五)Spring Data JPA 操作 MySQL 8

    一.Spring Data JPA 介绍 JPA(Java Persistence API)Java持久化API,是 Java 持久化的标准规范,Hibernate是持久化规范的技术实现,而Sprin ...

  4. Spring Data JPA例子[基于Spring Boot、Mysql]

    关于Spring Data Spring社区的一个顶级工程,主要用于简化数据(关系型&非关系型)访问,如果我们使用Spring Data来开发程序的话,那么可以省去很多低级别的数据访问操作,如 ...

  5. 初入spring boot(七 )Spring Data JPA

    Spring Data JPA通过提供基于JPA的Repository极大地减少JPA作为数据访问方案的代码量. 1.定义数据访问层 使用Spring Data JPA建立数据访问层十分简单,只需定义 ...

  6. Spring Boot-JPA、Hibernate、Spring data jpa之间的关系

    什么么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支 ...

  7. Spring Boot 2.x 之 Spring Data JPA, Hibernate 5

    1. Spring Boot常用配置项 基于Spring Boot 2.0.6.RELEASE 1.1 配置属性类 spring.jpa前缀的相关配置项定义在JpaProperties类中, 1.2 ...

  8. Spring Data JPA系列4——Spring声明式数事务处理与多数据源支持

    大家好,又见面了. 到这里呢,已经是本SpringData JPA系列文档的第四篇了,先来回顾下前面三篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring ...

  9. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(一)

    题外话:本篇是对之前那篇的重排版.并拆分成两篇,免得没了看的兴趣. 前言 在Spring Framework官方文档中,这三者是放到一起讲的,但没有解释为什么放到一起.大概是默认了读者都是有相关经验的 ...

  10. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(二)

    接前一篇 Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 本篇主要内容:Spring Type Conver ...

随机推荐

  1. 装饰器login_required

    装饰器login_required将游客身份引导至登录页面,登录成功后跳转到目的页面 url.py path('login/',views.login), path('home/',views.hom ...

  2. H5调起IOS原生商店支付

    参考文档:http://www.html5plus.org/doc/zh_cn/payment.html 申请内购项目摘自 https://www.jianshu.com/p/1e79bfbe46e2 ...

  3. SpringBoot学习<一>——快速搭建SpringBoot

    这是我的第一篇博客,博客记录我以后的学习,包括一些总结之类的东西,当然,这些记录是针对于与我个人而言的,可能有些地方会有不好的,或者出现错误,欢迎大家来指正(如果有人看的话)废话不多说.进入正题:Sp ...

  4. SpringMVC框架笔记01_SpringMVC的使用案例和架构组件_SpringMVC和Mybatis整合_接收参数

    目录 第1章:SpringMVC简介 1.1 什么是SpringMVC 1.2 SpringMVC的处理流程 第2章:SpringMVC入门程序 2.1 场景描述 2.2 步骤分析 2.3 步骤一:创 ...

  5. 【JUC】3.ReentrantLock

    ReentrantLock实现Lock接口,所以先看下Lock接口: public interface Lock { // 获得锁 void lock(); // 获得锁 void unlock(); ...

  6. linux删除命令的简单查找使用--临时找来用的

    ---恢复内容开始--- linux删除某个文件:rm -f filename;     mysql清空数据库,并且主键回到1:TRUNCATE TABLE tablename:   drop tab ...

  7. 日志管理与ftp。samba,nfs

    1.描述rsyslog日志服务,并提供带web展示的日志服务器 rsyslog日志服务简介 ​ 日志的概念好理解,日志作用可用于排障和追溯审计的等 ​ 1.rsyslog是一个C/S架构的服务,可监听 ...

  8. [堆栈]Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

    转自:https://blog.csdn.net/yangkuanqaz85988/article/details/52403726 问题1:不同线程/进程拥有着不同的栈,那系统所有的中断用的是同一个 ...

  9. Linux_kernel_exploits

    功能:自动生成UAF类型漏洞exp文件的工具,目前缺少文档介绍,可以参考test文件下的使用实例,但是源码中缺少dataflowanalyzer模块 相关内容:源码路径https://github.c ...

  10. Linux系统下文件压缩与打包命令

    Linux系统下文件压缩与打包命令 常用的压缩文件拓展名 * .Z * .zip * .gz * .bz2 * .xz * .tar * .tar.gz * .tar.bz2 * .tar.xz 压缩 ...