Spring Boot 整合 Spring Data JPA

2020-09-05 JAVA超神編程

1.1 已有項目增加 SpringDataJPA

☞ 添加依賴

  一個 SpringBoot 項目想要使用 SpringDataJPA 必須先添加 SpringDataJPA 相關依賴,其次,SpringDataJPA 會用到資料庫驅動,所以也需要導入資料庫驅動的依賴

<!-- springBoot JPA的起步依賴 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency><!-- MySQL連接驅動 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency>1234567891011


☞ 配置資料庫與 JPA 相關內容

  2.2.5.RELEASE 以上依賴的 mysql-connect-java 的版本不同。2.2.5 版本的 mysql-connect 的版本超過6.0。針對超過 6.0 的版本。配置 application.properties 的文件,有幾點不同: ♞ 在連接資料庫的 url 需要配置時區 serverTimezone,否則會報 The server time zone value &39; is unrecognized or represents more than one time zone. ♞ spring.datasource.driverClassName 需要使用 com.mysql.cj.jdbc.Driver,繼續使用 com.mysql.jdbc.Driver 會提示 Loading class &39;. This is deprecated. The new driver class is &39;

JPA Configuration:spring.jpa.database=MySQLspring.jpa.show-sql=truespring.jpa.generate-ddl=truespring.jpa.hibernate.ddl-auto=update 命名策略123456789101112


☞ 配置實體類

  所有的註解都是使用 JPA 的規範提供的註解,所以在導入註解包的時候,一定要導入 javax.persistence 下的註解。

/** * Created with IntelliJ IDEA. * * @author Demo_Null * @date 2020/7/30 * @description 實體類 */@Entitypublic class Student implements Serializable { private static final long SerialVersionUID = 1L; @Id // 聲明 id 為主鍵 @GeneratedValue(strategy= GenerationType.IDENTITY) // 配置主鍵的生成策略 private Long id; private String Name; private Integer age; private Boolean sex; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return Name; } public void setName(String name) { this.Name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Boolean getSex() { return sex; } public void setSex(Boolean sex) { this.sex = sex; } @Override public String toString() { return &34; + &34; + id + &39;&39;\&39; + &34; + age + &34; + sex + &39;; }}12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364


☞ repository

  SpringDataJPA 是 Spring 提供的一款對於數據訪問層的框架,使用 SpringDataJPA,只需要按照框架的規範提供 DAO 接口,不需要實現類就可以完成資料庫的增刪改查、分頁查詢等方法的定義,極大的簡化了我們的開發過程。在 SpringDataJPA 中,對於定義符合規範的 DAO 層接口,我們只需要遵循以下幾點就可以了: ♞ 創建一個 DAO 層接口,並繼承 JpaRepository 接口 ♞ 提供相應的泛型

/** * Created with IntelliJ IDEA. * * @author Demo_Null * @date 2020/7/30 * @description student repository 接口 */public interface StudentRepository extends JpaRepository<Student, Long> { public List<Student> findAll();}12345678910


☞ 測試類

/** * Created with IntelliJ IDEA. * * @author gaohu9712@163.com * @date 2020/7/30 * @description 測試類 */// SpringRunner.class 也可以@RunWith(SpringJUnit4ClassRunner.class)// 有些會讓加上 classes=啟動類.class,我加上會報 Failed to load ApplicationContext @SpringBootTest() public class Demo { @Autowired private StudentRepository studentRepository; @Test public void test() { List<Student> list = studentRepository.findAll(); System.out.println(list); }}123456789101112131415161718192021


☞ 運行結果


1.2 使用 IDEA 創建

  還是先創建 Springboot 項目,在填寫好項目信息之後選擇需要使用 SpringDataJPA 就會自動幫我們導入相關依賴。剩下的就和上面的一樣了。

相關焦點

  • Spring Boot - 帶有Hibernate和H2 Web控制臺的Spring Data JPA
    為了讓spring自動配置H2 Web控制臺,我們必須確保我們正在開發一個Web應用程式,確保com.h2database:h2依賴項駐留在類路徑上,我們正在使用org.springframework.boot:spring-boot-devtools。您也可以手動配置h2 Web控制臺。
  • SpringDataJPA這麼玩?
    <dependency>            <groupId>org.springframework.boot</groupId>      
  • 簡單了解下spring data jpa
    類似於定義一個接口,實現類還是得調用orm(如hibernate等)jpa的作用JPA的出現主要是為了簡化持久層開發以及整合ORM技術,結束Hibernate、TopLink、JDO等ORM框架各自為營的局面。
  • activiti7與springboot2整合
    那麼首先我們先跑起來,將Activiti7與Springboot2整合。Activiti7相比Activiti6一個顯著的變化就是引入了SpringSecurity來負責鑑權工作,通俗點說就是接入的用戶或者系統有沒有相應的接口訪問權限。1. 引入依賴<?
  • 一文搞懂 Spring JPA
    了解了什麼是 JPA,我們來看看本文的主角——spring data jpa。spring data jpaSpring Data JPA 是 Spring 基於 ORM 框架、JPA 規範的基礎上封裝的一套 JPA 應用框架,底層使用了 Hibernate 的 JPA 技術實現,可使開發者用極簡的代碼即可實現對數據的訪問和操作。
  • 個人學習系列 - Spring Boot整合Druid
    搭建一個Spring Boot項目1.1 pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId&
  • 深入Spring Boot (十):整合Mybatis框架詳解
    Spring Boot整合Mybatis支持XML配置和全註解兩種方式,本篇將詳細解說這兩種方式的Mybatis整合,主要包含以下5部分內容:數據源配置;資料庫連接池配置;XML配置方式整合;註解方式整合;
  • 千難萬難,我替你寫,你負責看=Spring Boot學習筆記
    ; <artifactId>spring-boot-starter-web</artifactId></dependency>(2).Spring Boot整合 Springspringboot並沒有增強spring的功能,只是提供了一種快速使用spring
  • JPA、Hibernate、Spring data jpa之間的關係,終於明白了
    如圖:什麼是spring data jpa?spirng data jpa是spring提供的一套簡化JPA開發的框架,按照約定好的【方法命名規則】寫dao層接口,就可以在不寫接口實現的情況下,實現對資料庫的訪問和操作。同時提供了很多除了CRUD之外的功能,如分頁、排序、複雜查詢等等。
  • Spring Data Jpa 入門學習
    本文主要講解 springData Jpa 入門相關知識, 了解JPA規範與Jpa的實現,搭建springboot+dpringdata jpa環境實現基礎增刪改操作,適合新手學習,老鳥繞道~1. ORM 概論ORM(Object-Relational Mapping)顧名思義就是表示對象關係映射。
  • springboot快速入門:5分鐘整合SpringDataJPA完成對資料庫的crud
    Data JPA等於在ORM之上又進行了一次封裝,但具體的對資料庫的訪問依然要依賴於底層的ORM框架,Spring Data JPA默認是通過Hibernate實現的二、SpringDataJPA體系三、解析與理解最高層的Repository<T,ID>是一個空接口,我們定義的數據訪問類只要實現或者繼承這個接口,這個數據訪問類就可以被spring
  • 整合JPA、Redis實現分布式的Session共享
    一.SpringBoot整合JPA、Redis實現分布式的Session共享1. 創建web項目我們按照之前的經驗,創建一個web程序,並將之改造成Spring Boot項目,具體過程略。<artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!
  • Spring Boot 2.x基礎教程:Spring Data JPA的多數據源配置
    添加多數據源的配置先在Spring Boot的配置文件application.properties中設置兩個你要連結的資料庫配置,比如這樣:spring.datasource.primary.jdbc-url=jdbc:mysql://localhost:3306/test1spring.datasource.primary.username
  • Spring Boot的JPA / Hibernate複合主鍵示例
    該屬性spring.jpa.hibernate.ddl-auto = update使應用程式中的實體類型和映射的資料庫表保持同步。每當更新域實體時,下次重新啟動應用程式時,資料庫中相應的映射表也將更新。這非常適合開發,因為您不需要手動創建或更新表。它們將根據應用程式中的Entity類自動創建/更新。
  • jpa+querydsl入門到會用-第一篇(整合)
    對於spring-data-jpa,如果你不熟悉也沒太大的關係,不影響使用querydsl。開始之前,這裡要做一些說明。這裡不會涉及太多JPA相關的東西QueryDsl和jpa整合其實很簡單(就幾行代碼)。但是jap和springboot的整合會涉及很多的配置屬性,代碼。這裡不會過多的去解釋它們。
  • 手把手教你實現自定義Spring Boot的 Starter
    For example, if you want to get started using Spring and JPA for database access, include the spring-boot-starter-data-jpa dependency in your project.❞納尼,一大堆的英文,這還有興趣接著往下看嗎?
  • 第四篇:SpringBoot 整合JPA
    Sun引入新的JPA ORM規範出於兩個原因:其一,簡化現有Java EE和Java SE應用開發工作;其二,Sun希望整合ORM技術,實現天下歸一。想了解更多請自行百度百科。JPAJPA的目標之一是制定一個可以由很多供應商實現的API,並且開發人員可以編碼實現該API,而不是使用某個供應商特有的API。
  • 深入Spring Boot (十一):整合Redis詳解
    本篇將介紹如何整合Redis及使用Redis實現簡單的查詢緩存,主要包括以下7部分內容:緩存RedisLettuceSpring Data RedisSpring Cache整合Redis小結緩存個人理解的緩存是指用於存儲頻繁使用的數據的空間
  • Spring Boot 中文參考指南(2.1.6)D、測試自動配置註解
    org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
  • Spring Data 簡介和踩坑心得
    引入spring data,特別是在spring boot之後,最大的好處就是簡化了配置。換句話說,幾個註解,幾行yml配置,一套數據源就整合進來了。省去了查詢官方手冊的時間。orm我們喜歡mybatis,而國外使用jpa和hibernate的明顯更多,mybatis份額很小。(參見stackoverflow調查)列式資料庫,我們hbase 相較 cassandra 用的更多。一些雲廠商、小廠商的資料庫,我們幾乎不會使用。