美文网首页
Java ORM框架简介 JDBC-JPA-Hibernate_

Java ORM框架简介 JDBC-JPA-Hibernate_

作者: entro | 来源:发表于2019-06-04 20:18 被阅读0次

    Java ORM框架简介

    一、JDBC & ORM(Object Relational Mapping)框架

    所有Java程序都是通过JDBC(Java Data Base Connectivity)连接数据库的。
    JDBC是一种典型的桥接模式(Bridge),只定义了接口规范,具体的实现交由不同的数据库厂商实现。

    JDBC简单的使用一行sql都需要很复杂的几个步骤(创建连接,执行sql,读取返回,转换成对象,关闭)。
    因此平时编程一般不直接使用JDBC来编程,而是使用ORM(Object Relational Mapping)框架。

    ORM就是对数据库的表和POJO(Plain Ordinary Java Object)简单Java对象的做映射的框架。

    二、JPA & Spring Data JPA

    2.1 JPA

    JPA(Java Persistence API)Java持久层接口是一套ORM规范接口(interface),Hibernate底层调用JDBC实现了这一套规范。

    2.2 Spring Data JPA

    还有一个概念叫Spring Data JPA,是Spring Data的子模块,其对 JPA 规范进行再次封装抽象,进一步简化了JPA开发,但其底层仍旧使用的是Hibernate。

    Spring Data JPA按照约定的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下完成对数据库的访问和操作,同时还提供了除了CRUD之外的如分页、排序、复杂查询等功能。

    三、 Hibernate 与 myBatis

    Hibernate是对JPA进行了非常轻量级的对象封装的一个全自动ORM框架
    Hibernate可以大大简化屏蔽SQL,只需要写HQL,但是,其有明显的缺点:

    1. 全表映射,更新需要发送所有字段。
    2. HQL简单,但是性能差,互联网系统需要优化SQL,Hibernate做不到。

    为了更灵活、减少数据传输,同时优化SQL的需要,诞生了一种新的半自动ORM框架Mybatis。称之为半自动的原因是他需要手动匹配POJO,SQL和映射。

    对于数据的操作,hibernate是面向对象的,而MyBatis是面向关系的。

    四、数据相关的缩写 POJO Dao DO DTO PO VO

    1. POJO :plain ordinary java object,Java简单对象。

    2. Dao :data access object,数据访问对象(POJO持久化后)。

    3. DTO :data transfer object,泛指用于表示层与服务层之间的数据传输对象(POJO传输中)。

    4. PO :persistent object,持久化对象(POJO持久化)。

    5. VO :view Object,视图对象,表示层,一般用来给前端展示。

    6. DO :Domain object,抽象化的业务实体。

    7. BO :business object,业务对象。

    相关文章

      网友评论

          本文标题:Java ORM框架简介 JDBC-JPA-Hibernate_

          本文链接:https://www.haomeiwen.com/subject/dinrxctx.html