1. 程式人生 > >jdbc,jpa,spring data jpa,hibernate,mybatis區別

jdbc,jpa,spring data jpa,hibernate,mybatis區別

概述

jdbc是java連線資料庫操作的原生介面

jpa是java持久化規範,是orm框架的標準,主流orm框架都實現了這個標準

spring data jpa是對jpa規範的再次抽象,底層還是用的實現jpa的hibernate技術

hibernate是一個標準的orm框架,實現了jpa

mybatis也是一個持久化框架,但不完全是一個orm框架,不是依照的jpa規範。

什麼是orm?

orm(Object Relation Mapping) 物件關係對映,是物件持久化的核心,是對jdbc的封裝。

hibernate VS mybatis VS jdbc

jdbc是比較底層的資料庫操作方式,hibernate和mybatis都是在jdbc的基礎上進行了封裝。

hibernate是將資料庫中的資料表對映為持久層的java物件,實現對資料表的完整性控制。hibernate的主要思想是面向物件,標準的orm。不建議自己寫sql語句,如果確實有必要推薦hql代替。hibernate是全表對映,只需提供java bean和資料庫表對映關係,

mybatis是將sql語句中的輸入引數parameterMap和輸出結果resultMap對映為java物件,放棄了對資料表的完整性控制,獲得了更大的靈活性。mybatis擁抱sql,在sql語句方面有更大的靈活性,mybatis不是面向物件,不是標準的orm,更像是sql mapping框架。mybatis是半自動的,需要提供java bean,sql語句和資料庫表的對映關係。

開發難度:

Hibernate因為是封裝了完整的物件關係對映,內部實現比較複雜,學習週期大。

mybatis主要是配置檔案中sql語句的編寫

spring data上手快,通過命名規範,註解查詢可簡化操作

總結

如果是進行底層程式設計,需要對效能要求高,應採用jdbc方式。

如果直接操作資料庫表,沒有過多的定製,建議使用hibernate方式。

如果要靈活使用sql語句,建議採用mybatis方式。

相關推薦

jdbc,jpa,spring data jpa,hibernate,mybatis區別

概述jdbc是java連線資料庫操作的原生介面jpa是java持久化規範,是orm框架的標準,主流orm框架都實現了這個標準spring data jpa是對jpa規範的再次抽象,底層還是用的實現jpa的hibernate技術hibernate是一個標準的orm框架,實現了j

跟著問題學習Spring Data Jpa----Spring Data Jpa配置

工具:eclipse,Maven 這裡提到的內容是在Spring Boot為框架的基礎上進行的。 首先建立一個Maven  -webapp工程,在pom.xml檔案中引入Spring Boot和Spring Data Jpa相關的依賴: <dependency&

ORM框架 MybatisHibernateSpring Data JPA之到底該用誰,誰更牛*

在持久層框架中無可厚非的就是mybatis了,但是也會經常被人問到為啥要用mybatis,為啥不用hibernate,jpa。很多人各級都是地鐵爺爺看手機的表情,似乎從來沒想過這個問題。“公司叫用我就用了唄” 如果期望有好的發展我覺得我們應該學會知其然&知其所以然,這樣才會有自

spring-data-jpa+hibernate 各種緩存的配置演示

mark num rest net posit bstr doc 技術 對象 本文所有測試用代碼在https://github.com/wwlleo0730/restjplat 的分支addDB上 目前在使用spring-data-jpa和hibernate4的時候,對於

簡述 JPASpring Data JPAHibernate

避免 down 應用開發 -m 面向 pda _id 簡寫 append 1.JPA是什麽?以及相關概述 JPA的是 Java Persistence API 的簡寫,是Sun官方提出的一種ORM規範! Sun提出此規範有2個原因: 1.簡化現有Java EE和Java

Spring Data JPA Vs Hibernate JPA Vs JPA

2017年 html block lin sel ESS api 使用 部分 前言 從文章的標題,就可以清晰地了解到,本文是來辨析三個容易將新手弄糊塗的技術名詞。如果,你一眼看過去就知道這三個名詞的區別及關系,那麽,這篇文章你可以不用繼續讀下去了;除非,你是想要看看我有什麽

Spring Data JPA使用getOne方法報錯:Method threw 'org.hibernate.LazyInitializationException' exception. Cannot evaluate

com tps 對象 vlad 解釋 連接 method 需要 至少 getOne是懶加載,需要增加這個配置: spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true,但這種方式不太友好,建議不要使用。

Spring data jpa 報錯 org.hibernate.AnnotationException: No identifier specified for entity: com.trs.id

用上篇文件的idea自動生成資料庫實體類後,在啟動專案的時候報錯.如下: org.hibernate.AnnotationException: No identifier specified for entity: com.trs.idap.domain.entity.greenplum.Trs

Spring Data JPAMyBatis對比

Spring Data JPA是Spring Data的子模組。使用Spring Data,使得基於“repositories”概念的JPA實現更簡單和容易。Spring Data JPA的目標是大大簡化資料訪問層程式碼的編碼。作為使用者,我們只需要編寫自己的repository介面,介面中包含一些

spring data jpajpa區別

spring data jpa 與 jpa的區別 - sinat_39789638的部落格 - CSDN部落格 https://blog.csdn.net/sinat_39789638/article/details/78045990   spring data jpa是sprin

Spring Boot整合Spring MVC、SpringSpring Data JPA(Hibernate)

一句話總結:Spring Boot不是新的功能框架,而是為了簡化如SSH、SSM等等多個框架的搭建、整合及配置。使用Spring Boot 10分鐘搭建起Spring MVC、Spring、Spring Data JPA(Hibernate)基礎後臺架構。基本零配置,全註解。 步驟一: 使用Sprin

窺探Mybatis Plus的ActiveRecord,並實現Spring Data JPA版本的AR

之前在做自己專案使用Mybatis的時候,一次偶然的機會看到了Mybatis Plus並使用了起來。不得不說,這個工具真的給開發提供了很大的便利性,推薦大家去試一下。特別是,它的ActiveRecord模式深深的吸引住了我:只要實體類繼承一個類,並重寫獲取主鍵的值的方法,就可

Spring整合Hibernate實現Spring Data JPA (簡單使用)

pda artifact framework factor path sta ans 項目結構 pub 直接上代碼: pom.xml <!-- hibernate start --> <!-- spring data jp

轉:spring data jpahibernatejpa 三者之間的關係 spring data jpa hibernate jpa 三者之間的關係

原文連結:spring data jpa、 hibernate、 jpa 三者之間的關係 spring data jpa hibernate jpa 三者之間的關係 JPA規範與ORM框架之間的關係是怎樣的呢? JPA規範本質上就是一種ORM規範,注意不是ORM框架——因為

解讀Mybatis Plus的ActiveRecord,並實現Spring Data JPA版本的AR

之前在做自己專案使用Mybatis的時候,一次偶然的機會看到了Mybatis Plus並使用了起來。不得不說,這個工具真的給開發提供了很大的便利性,推薦大家去試一下。特別是,它的ActiveRecord模式深深的吸引住了我:只要實體類繼承一個類,並重寫獲取主鍵的值的方法,就可以使用例項物件去呼叫

JPAHibernateSpring DataSpring Data JPA之間的關係

什麼是JPA? JPA(Java Persistence API)是Sun官方提出的Java持久化規範。它為Java開發人員提供了一種物件/關係對映工具來管理Java應用中的關係資料。 什麼是Hibernate? Hibernate是對JDBC進行了非常輕量級的物件封裝,它將PO

SpringCloud SpringBoot mybatis 分散式微服務(九)Spring Boot中使用Spring-data-jpa讓資料訪問更簡單

然而,在實際開發過程中,對資料庫的操作無非就“增刪改查”。就最為普遍的單表操作而言,除了表和欄位不同外,語句都是類似的,開發人員需要寫大量類似而枯燥的語句來完成業務邏輯。為了解決這些大量枯燥的資料操作語句,我們第一個想到的是使用ORM框架,比如:Hibernate。通過整合H

解決spring+springMVC+Hibernate+spring-data-jpa懶載入No session問題

在使用懶載入的時候常常會遇到No session問題,其實是在web.xml檔案中忘記新增懶載入的過濾器了。 懶載入異常:org.hibernate.LazyInitializationException: could not initialize proxy

JPAHibernateSpring data jpa之間的關係,終於明白了

什麼麼是JPA? 全稱Java Persistence API,可以通過註解或者XML描述【物件-關係表】之間的對映關係,並將實體物件持久化到資料庫中。 為我們提供了: 1)ORM對映元資料:JPA支援XML和註解兩種元資料的形式,元資料描述物件和表之間的對映關係,

Spring-data-jpa 整合Hibernate時延遲載入問題

@GetMapping("/teachers/{id}") @Timed public ResponseEntity<Teacher> getTeacher(@PathVariable Long id) { l