java持久層框架有哪些
2023-06-12 17:35:01 閱讀(235)
jpa是什么?
JPA是Java Persistence API的簡稱, 中文名為Java持久層API; 是JDK 5.0注解或XML描述對象-關(guān)系表的映射關(guān)系, 并將運行期的實體對象持久化到數(shù)據(jù)庫中。 JPA包括以下3方面的內(nèi)容: 1) 一套API標準。 在javax.persistence的包下面, 用來操作實體對象, 執(zhí)行CRUD操作, 框架在后臺替代我們完成所有的事情, 開發(fā)者從煩瑣的JDBC和SQL代碼中解脫出來。 2) 面向?qū)ο蟮牟樵冋Z言: Java Persistence Query Language(JPQL) 。 這是持久化操作中很重要的一個方面, 通過面向?qū)ο蠖敲嫦驍?shù)據(jù)庫的查詢語言查詢數(shù)據(jù), 避免程序的SQL語句緊密耦合。 3) ORM(object/relational metadata) 元數(shù)據(jù)的映射。 JPA支持XML和JDK5.0注解兩種元數(shù)據(jù)的形式, 元數(shù)據(jù)描述對象和表之間的映射關(guān)系, 框架據(jù)此將實體對象持久化到數(shù)據(jù)庫表中。 總的來說: jpa是用于對象持久化的API; 是jave EE5.0平臺的標準ORM規(guī)范,其作用是使得應用程序以統(tǒng)一的方式來訪問持久層; 目前主要使用的jap實現(xiàn)是hibernate;
jpa和mybatis項目的區(qū)別?
區(qū)別主要有以下幾點 1、 jpa和mybatis的反映對象不同 GPA是java persistence api的縮寫,它的中文翻譯就是指程序JAVA持久層API,Mybatis相對來說比較實用的持久層框架。首先,兩者最大的不同就在于內(nèi)部的反應對象,JPA的操作是在對象與對象之間的反射,而mybatis的處理對象是在對象和結(jié)果集合之間的反射。雖然其最終的持久層框架結(jié)果是一樣的,但是卻在操作過程中有千差萬別。 2. jpa和mybatis的功能性質(zhì)不同 從整體的移植性來看,GPA的一致性相對較好,他在數(shù)據(jù)庫的兼容性基本都是相同的,所以不用擔心其他問題。一般來說springdatajpa都知道當一個接口繼承了GPA,接口之后便會自動具備數(shù)據(jù)移植的良好性質(zhì)。由于mybatis是使用SQL語句,所以在移植時必須將數(shù)據(jù)庫的類型改為sql了。從這一點上來看,GPA更具優(yōu)勢,其次在操作層面修改字段的時候,mybatis也相對操作步驟比較多。 3. jpa和mybatis操作流程不同 如果是學習操作持久層的話,用hibernate會比較麻煩,所以從具體學習操作來看,mybatis具有更強烈的優(yōu)勢,同時也可以使用springdatajpa,但是這一種方式更適合于單表。但在這里可以發(fā)現(xiàn)這一篇a的妥協(xié)性,為了支持這一特性,但在實際操作起來,并不推薦薦使用,因為這種操作方式并不符合領(lǐng)域驅(qū)動設計的目標和理念。
spring持久層組件有哪些?
spring持久層組件主要有三類,分別 1.jdbc JdbcTemplate 2.Hibernate (JPA) HibernateTemplate 3.Mybatis SqlSessionFactoryBean、MapperScannerConfiger
未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明出處