Spring Data JPA(SDJ)在我看來,相比於 MyBatis 和 Hibernate 最大的好處就在於,它太方便了!若是你的業務邏輯並不須要控制細膩度很高的狀況下(SDJ 在我看來其實控制粒度也不低!),我強烈建議從 Hibernate 或 Mybatis 遷移至 SDJ!我只能說 Spring 出的東西個個都是極品,另外安利一個給我同樣感受的公司(Spring 是 Pivotal 公司的項目)——大名鼎鼎的 JetBrains ,其表明做 IntelliJ IDEA 被公認爲是最好的 Java IDE!html
嚴格意義上來講,SDJ 是「站在巨人的肩膀上」—— Hibernate 和 JPA。Hibernate 是一種 ORM (Object Relational Mapping ——對象關係映射)框架,通俗點來講就是將數據庫和 Java 對象進行相互映射,這樣一來就能夠經過操做 Java 對象來操做數據庫;JPA 是一種協議,它提供了一種用於對象關係映射的 POJO(Plain Old Java Object ——普通 Java 對象)持久性模型。而 Hibernate 自己也是基於 JPA 的實現。有點相似於實現類(Hibernate)和接口(JPA)的關係。而 SDJ 是在二者的肩膀上更近一步,提供了更加方便的操做。java
順帶一說,MyBatis 與二者不一樣,它不基於 JPA 協議,而是直接經過操做 SQL 語句來操做數據庫。控制細膩度在我看來是最高的!所以,若是您須要更增強大的控制,建議您使用 MyBatis。git
全文的知識來源都是項目的 GA RELEASE
官方文檔,文末我會提供對應的參考連接,並儘量地根據 GA RELEASE
版本進行更新。開發環境是 IntelliJ IDEA & Gradle & Spring Boot,若是您對其中任何一項不熟悉,別慌,我只會以平臺無關的代碼進行說明,固然我強烈建議您去了解一下這些對編程人員友好開發的工具,從此我也會寫相關的文章來記錄我對其學習的總結。github
Ch1.默認方法使用spring
源碼倉庫數據庫
個人咖啡館segmentfault
歡迎您來個人咖啡館坐坐338147322。mybatis