天天看點

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

springboot內建spring-jpa

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

本文主要内容:

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

如jpa幾個常用注解、lombok注解使用

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

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

我們遵從MVC三層模式,DAO層設計與開發、Service層設計與開發以及Controller層。

我們先來DAO層設計開發,Spring boot項目基礎架構建立這裡就省略。

本文出自:凱哥Java(kaigejava)

《spring boot支付項目》

一:相關jar依賴添加

因為使用到了mysql,在POM.XML檔案中引入mysql相關jar及操作資料庫相關的。這裡我們使用的是spring-jpa來操作資料庫。具體jra如下:

<dependency>

<groupId>mysqlgroupId>

<artifactId>mysql-connector-javaartifactId>

dependency>

<dependency>

<groupId>org.springframework.bootgroupId>

<artifactId>spring-boot-starter-data-jpaartifactId>

dependency>

在教大家一個idea怎麼在pom檔案中輸入坐标時候聯想,如下圖:在輸入atrifactid的時候可以聯想到,如下圖:

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa
idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

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

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

點選更新就可以了。

二:資料庫連接配接配置。這裡我們使用的是yml格式的。配置如下圖:

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

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方式:

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

說明:

@Entity:spring-jpa實體注解

@Data: lombok注解用于自動生産get/set方法的

@Id:jpa的主鍵注解

@GeneratedValue:注解生成政策

3.2:建立repository接口對象

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

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

其中泛型,我們檢視源碼:

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

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

ID:實體對象的ID類型。我們使用的事Integer類型。是以這裡就寫Integer。

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

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

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa
idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

運作結果:

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

在控制台上,我們可以看到hibernate列印的sql語句以及列印出查詢的結果。說明springboot繼承jpa成功。

如果出現could not initialize proyx的時候,如下圖錯誤:

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

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

idea jpa方法 自動提示_springboot支付項目之springboot內建jpa

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

繼續閱讀