• 【Spring Data JPA】入门数据层框架Spring Data JPA,比较MyBatis


    一、什么是JPA?

    相同处:

    1. 都跟数据∙库操作有关,JPA 是JDBC 的升华,升级版。
    2. JDBC和JPA都是一组规范接口
    3. 都是由SUN官方推出的

    不同处

    1. JDBC是由各个关系型数据库实现的, JPA 是由ORM框架实现
    2. JDBC 使用SQL语句和数据库通信。 JPA用面向对象方式, 通过ORM框架来生成SQL,进行操作。
    3. JPA在JDBC之上的, JPA也要依赖JDBC才能操作数据库。

    在这里插入图片描述

    JDBC是我们最熟悉的用来操作数据库的技术,但是随之而来带来了一些问题: 1. 需要面向SQL语句来操作数据库,开发人员学习成本更高。
    2. 数据库的移至性不高,不同数据库的SQL语句无法通用。
    3. java对象和数据库类型的映射是个麻烦事。

    二、JPA诞生

    在Sun在JDK1.5提出了JPA:

    JPA全称Java Persistence API(2019年重新命名为 Jakarta Persistence API ),是Sun官方提出的一种ORM规范。
    O:Object R: Relational M:mapping

    作用:
    1.简化持久化操作的开发工作:让开发者从繁琐的 JDBC 和 SQL 代码中解脱出来,直接面向对象持久化操作。
    2.Sun希望持久化技术能够统一,实现天下归一:如果你是基于JPA进行持久化你可以随意切换数据库。 该规范为我们提供了:

    1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对 象持久化到数据库表中;
    如:@Entity 、 @Table 、@Id 与 @Column等注解。
    2)JPA的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和 SQL代码中解脱出来。
    如:entityManager.merge(T t);
    3)JPQL查询语言:通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。 如:from Student s
    where s.name = ? So: JPA仅仅是一种规范,也就是说JPA仅仅定义了一些接口,而接口是需要实现才能工作的。

    三、Hibernate与JPA:

    所以底层需要某种实现,而Hibernate就是实现了JPA接口的ORM框架。 也就是说: JPA是一套ORM规范,Hibernate实现了JPA规范!
    在这里插入图片描述
    当前主流的两个框架:mybatis和Hibernate
    【mybatis】

    • 小巧、方便?、高效、简单、直接、半自动 半自动的ORM框架,
    • 小巧: mybatis就是jdbc封装 在国内更流行。
    • 场景: 在业务比较复杂系统进行使用,

    【hibernate】

    • 强大、方便、高效、(简单)复杂、绕弯子、全自动 全自动的ORM框架,
    • 强大:根据ORM映射生成不同SQL 在国外更流。
    • 场景: 在业务相对简单的系统进行使用,随着微服务的流行。

    四、Hibernate示例

    五、Jpa示例

    六、Spring data JPA

    持续更新…

  • 相关阅读:
    STM32单片机语音识别MP3播放器音乐播放器TF卡播放器
    厨卫电器行业数字化集采管理系统:优化产业供应结构,实现采购业务流程集中管控
    Linux期末总复习( 详解 )
    七、函数-存储过程-触发器
    基于Bert迁移学习点击未知弹框
    JDBC的封装
    推挽输出和开漏输出-三极管-mos管
    LeetCode 2562. 找出数组的串联值【数组,相向双指针】1259
    React@16.x(15)PureComponent 和 memo
    ADB日常使用命令
  • 原文地址:https://blog.csdn.net/weixin_43431218/article/details/126143939