什么么是JPA?

全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。

为我们提供了:

1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;

如:@Entity、@Table、@Column、@Transient等注解。

2)JPA 的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。

如:entityManager.merge(T t);

3)JPQL查询语言:通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。

如:from Student s where s.name = ?

但是:

JPA仅仅是一种规范,也就是说JPA仅仅定义了一些接口,而接口是需要实现才能工作的。所以底层需要某种实现,而Hibernate就是实现了JPA接口的ORM框架。

也就是说:

JPA是一套ORM规范,Hibernate实现了JPA规范!如图:

什么是spring data jpa?

spirng data jpa是spring提供的一套简化JPA开发的框架,按照约定好的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能,如分页、排序、复杂查询等等。

Spring Data JPA 可以理解为 JPA 规范的再次封装抽象,底层还是使用了 Hibernate 的 JPA 技术实现。如图:

接口约定命名规则:

实例:

springboot集成spring data jpa只需两步:

第一步:导入maven坐标

    <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

第二步:application.properties配置文件中配置jpa信息

spring.jpa.show-sql=true
spring.jpa.database=MYSQL
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.naming-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

最新文章

  1. 拖动对象ondrag
  2. GridView中使用分页控件
  3. jeos没有消亡,但看 debian 的 netinst .iso格式,那就是jeos的系统!
  4. [SQL Server]Index/deadlock
  5. OpenCV学习笔记——形态学梯度操作
  6. 转:21副GIF动图让你了解各种数学概念
  7. [SQL]不知道1
  8. PAT-乙级-1021. 个位数统计 (15)
  9. Bower安装
  10. C++ Primer 学习笔记_32_STL实践与分析(6) --再谈string类型(下)
  11. 大数据时代的杀手锏----Tachyon
  12. 图片首尾平滑轮播(JS原生方法—节流)&lt;原创&gt;
  13. [extjs5学习笔记]第三十七节 Extjs6预览版都有神马新东西
  14. Flutter map 妙用及 .. 使用
  15. Glog使用记录
  16. VLC播放器
  17. MySql/Oracle和SQL Server的分页查
  18. Apache 的 ab 压测工具快速使用
  19. js 1+&#39;2&#39; == &#39;1&#39;+&#39;2&#39;
  20. SQL获取当前日期的年、月、日、时、分、秒数据

热门文章

  1. grub破解和bios加密
  2. 在iOS平台使用ffmpeg解码h264视频流
  3. iOS 视图调用
  4. 【异常】微博生成短链异常{&quot;request&quot;:&quot;/2/short_url/shorten.json&quot;,&quot;error_code&quot;:&quot;10014&quot;,&quot;error&quot;:&quot;Insufficient app permissions!&quot;}
  5. Hexo 文章图片添加水印,不用云处理
  6. Linux之ubuntu下载
  7. Linux运维技术之详解任务计划(crontab命令)
  8. 随笔记录--Array类型
  9. Spring Cloud注册中心Eureka设置访问权限并自定义鉴权页面
  10. Jmeter连接MYSQL数据库,并进行数据库的操作;