以上笔记来自极客时间spring全家桶学习以及jpa及mybatis对比网上资料梳理。

1 Spring jpa说明

1.1 spring ormapping

对象与关系的范式不匹配

image-20201014213058833

Java Persistence API

JPA 为对象关系映射提供了了⼀一种基于 POJO 的持久化模型
• 简化数据持久化代码的开发⼯工作
• 为 Java 社区屏蔽不不同持久化 API 的差异

Spring Data

在保留留底层存储特性的同时,提供相对⼀一致的、基于 Spring 的编程模型

主要模块:

1.2 常用jap注解

image-20201014213418599

image-20201014213503088

image-20201014213438123

2 jpa、Hibernate与mybatis区别

浅谈mybatis和jpa的区别

springjpa和mybatis哪个查询效率高?

Java Persistence API(Java 持久层 API):用于对象持久化的 API

JPA与Hibernate关系

JPA 是 Hibernate 的一个抽象,就像 JDBC 和 JDBC 驱动的关系

JPA 是一种 ORM 规范,是 Hibernate 功能的一个子集 (既然 JPA 是规范,Hibernate 对 JPA 进行了扩展,那么说 JPA 是 Hibernate 的一个子集不为过)

Hibernate 是 JPA 的一个实现

什么是spring data jpa

Spring Data JPA是Spring Data的子模块。使用Spring Data,使得基于“repositories”概念的JPA实现更简单和容易。Spring Data JPA的目标是大大简化数据访问层代码的编码。作为使用者,我们只需要编写自己的repository接口,接口中包含一些个性化的查询方法,Spring Data JPA将自动实现查询方法。
JPA默认使用hibernate作为ORM实现,所以,一般使用Spring Data JPA即会使用hibernate。我们再看看hibernate的官方概念,Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

什么是mybatis

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐