• 图解Java JDBC和JPA的区别


    1. JDBC和JPA的区别

    • 不同标准:jdbc是数据库的统一接口标准;jpa是orm框架的统一接口标准。
    • 用法区别:jdbc更注重数据库,orm则更注重于java代码,但是实际上jpa实现的框架底层还是用jdbc去和数据库打交道。

    2. JDBC(Java DataBase Connectivity)

    是java连接数据库操作的原生接口。JDBC对Java程序员而言是API,为数据库访问提供标准的接口。由各个数据库厂商及第三方中间件厂商依照JDBC规范为数据库的连接提供的标准方法。

    • 优点:运行速度最快,所有操作数据库的技术底层都是jdbc写的
    • 缺点:重复代码多,耦合性高,开发效率低,更换数据库比较繁琐

    3. ORM(Object-Relational Mapping)

    对象关系映射。简单的说:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。
    优点:减少重复性代码。

    常见的orm框架有:
    Hibernate、spring data jpa、open jpa

    Hibernate
    Hibernate是一个开源的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以使用面向对象的思维来操纵数据库。是一种JPA实现。

    4. JPA(Java Persistence API)

    Java对象持久化的 API。是SUN公司推出的一套基于ORM的规范,通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。JPA规范本质上就是一种ORM规范,注意不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服务厂商来提供实现。JPA是为了让面向对象设置的,为了不写sql语句而设置的。
    优点:数据库移植快,一级二级缓存,查询,提高性能(ehcache框架实现缓存)
    缺点:查询所有的时候,find性能无法控制,无法干预sql语句的生成,对sql语句要求高的话

    5. 多个数据访问框架区别

    Hibernate:是JPA的一种实现,是一个框架
    Spring Data JPA:对JPA规范的再次抽象,底层使用Hibernate实现
    Spring Data JDBC: jdbcTemplate模板数据库简化对数据库的操作,相比传统JDBC而言省去了,数据库驱动,连接等无关配置,只需要写sql,设置参数
    Mybatis:是一个持久化框架,但不完全是一个orm框架,不是依照的jpa规范,她需要些sql语句,半ORM。

    下图说明上面介绍的名词之间相互关系

  • 相关阅读:
    完整的WSDL语法
    WSDL UDDI
    八一八 The Social Network的小细节
    MySQL命令行常用命令
    AspectJ风格的Aop切点表达式
    强大的Mockito测试框架
    MySQL锁定状态查看命令
    Yum本地Rpm库设置
    Sed实例大全
    为何 Emacs 和 Vim 被称为两大神器
  • 原文地址:https://www.cnblogs.com/jddreams/p/14024754.html
Copyright © 2020-2023  润新知