springboot支付項目之springboot集成jpa

springboot集成spring-jpajava

本文主要內容:mysql

1:spring boot怎麼集成spring-jpa以及第一個jpa查詢示例spring

如jpa幾個經常使用註解、lombok註解使用sql

2:怎麼設置idea中在pom中添加依賴的時候自動聯想。數據庫

3:集成過程當中遇到的問題及解決.如mysql時區問題、jpa懶加載問題。springboot

咱們聽從MVC三層模式,DAO層設計與開發、Service層設計與開發以及Controller層。框架

咱們先來DAO層設計開發,Spring boot項目基礎框架建立這裏就省略。maven

本文出自:凱哥Java(kaigejava)ide

《spring boot支付項目》。凱哥我的博客:www.kaigejava.comspring-boot

一:相關jar依賴添加

由於使用到了mysql,在POM.XML文件中引入mysql相關jar及操做數據庫相關的。這裏咱們使用的是spring-jpa來操做數據庫。具體jra以下:

<!-- mysql 相關的依賴-->

<dependency>

  <groupId>mysql</groupId>

  <artifactId>mysql-connector-java</artifactId>

</dependency>

<!-- jpa相關依賴-->

<dependency>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>


在教你們一個idea怎麼在pom文件中輸入座標時候聯想,以下圖:在輸入atrifactid的時候能夠聯想到,以下圖:

document_image_rId9.png

document_image_rId10.png

操做:file-->settings界面,依次找到:build,execution,Deployment-->Bulid Tools-->maven-->Repositories.以下圖:

document_image_rId11.png

點擊更新就能夠了。

二:數據庫鏈接配置。這裏咱們使用的是yml格式的。配置以下圖:

document_image_rId12.png

spring:

 datasource:

   driver-class-name: com.mysql.cj.jdbc.Driver

   username: root

   password: 123456

   url: jdbc:mysql://localhost/springboot-wxpay?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false

 jpa:

   show-sql: true

說明:

spring.jpa.show-sql=true.這句意思是:打印sql語句。

在url後面添加serverTimeizone=UTC是爲了解決時區錯誤的問題。

三:建立實體及測試

3.1:建立ProductCategory實體對象。使用spring-jpa方式:

document_image_rId13.png

說明:

@Entity:spring-jpa實體註解

@Data: lombok註解用於自動生產get/set方法的

@Id:jpa的主鍵註解

@GeneratedValue:註解生成策略

3.2:建立repository接口對象

document_image_rId14.png

說明:使用jpa的須要繼承Jparepository這個對象(有多個,這裏就用簡單的)

其中泛型,咱們查看源碼:

document_image_rId15.png

T:實體對象的。也就是咱們上面建立的ProductCategory對象

ID:實體對象的ID類型。咱們使用的事Integer類型。因此這裏就寫Integer。

四:建立測試類,進行測試:

在IDEA中,建立測試類快捷鍵:選中類名以後,ctrl+shift+t。以下圖:

document_image_rId16.png

document_image_rId17.png

運行結果:

document_image_rId18.png

在控制檯上,咱們能夠看到hibernate打印的sql語句以及打印出查詢的結果。說明springboot繼承jpa成功。

若是出現could not initialize proyx的時候,以下圖錯誤:


document_image_rId19.png

在實體上面添加@Proxy(lazy = false)

document_image_rId20.png

說明:@ToString 是直接添加toString方法的。

相關文章
相關標籤/搜索