您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何使用Spring通過JPA連接到Db2的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創建項目
首先,確定您計劃使用 IBM Cloud 開發者工具還是 Spring Initializr 創建項目,然后按照各自的說明進行操作。
IBM Cloud 開發者工具
如果您使用 IBM Cloud 開發者工具創建項目,那么使用 dev 插件創建新的 Spring 微服務。
ibmcloud dev create
1.選擇 Backend Service / Web App。
2.選擇 Java – Spring。
3.選擇 Java Microservice with Spring (Microservice)。
4.指定項目名稱(例如 MyDb2JPAProject)。
5.拒絕向應用程序添加服務 (n)。
6.選擇合適的工具鏈,如果不確定,選擇 None("No Devops")。
7.切換到應用程序目錄。
8.將 Spring JPA 啟動器添加到 pom.xml 中的 dependencies 元素中:
<dependency> <groupId>org.springframework.boot</groupId>> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
Spring Initializr
如果您使用 Spring Initializr 創建項目,那么使用瀏覽器訪問 https://start.spring.io。
1.選擇您的 Spring Boot 級別(目前默認版本為 2.0.4)。
2.指定項目工件名稱(例如 mydb2jpaproject)。
3.添加 Web 依賴項。
4.添加 JPA 依賴項。
5.選擇 Generate Project,然后下載應用程序包。
6.解壓程序包。
7.切換到解壓目錄。
將db2jcc4.jar 添加到項目中
Maven 中不提供 Db2 JDBC Driver (JCC),所以您必須直接從 IBM 下載,并將其添加到本地 maven 倉庫。
從 Db2 JDBC 驅動程序版本和下載中選擇并下載適合您的驅動程序包。
解壓此程序包,并將 db2jcc4.jar 文件保存到項目根目錄下的一個新的 lib 目錄中。
在此 lib 目錄中,將Jar 作為 Maven 包添加,并根據您下載的程序包相應地更改版本:
mvn install:install-file -DlocalRepositoryPath=lib -DcreateChecksum=true -Dpackaging=jar -Dfile=./lib/db2jcc4.jar -DgroupId=com.ibm.db2.jcc -DartifactId=db2jcc4 -Dversion=4.24.92
將 lib 目錄作為 Maven 倉庫添加到 pom.xml:
<repositories> <repository> <id>repo</id> <url>file://${project.basedir}/lib</url> </repository> </repositories>
將依賴添加到 pom.xml 中的 dependency 元素,并相應地更改版本以實現匹配:
<dependency> <groupId>com.ibm.db2.jcc</groupId> <artifactId>db2jcc4</artifactId> <version>4.24.92</version> </dependency>
創建示例表
對于本快速指南,我們只使用一個數據庫和一個表。
使用 Db2 命令提示符連接到 Db2 實例,并發出以下 SQL 語句創建 things 表并填充一些數據:
create table things (id int, name varchar(255)) insert into things (id,name) values (1,'fish'),(2,'wibble'),(3,'stiletto')
如果您為此表使用不同的名稱,就需要記住這個名稱,以便稍后創建 JPA 類時使用。
為 Db2 實例配置 Spring 數據
Spring 需要被告知如何與數據庫進行通信,與其他 Spring 配置一樣,這些信息在 application.properties(或 application.yaml)文件中(位于 src/main/resources/application.properties)。
將以下屬性添加到 application.properties 文件:
spring.datasource.url=jdbc:db2://mydb2host:50000/mydb2databasename spring.datasource.username=mydb2username spring.datasource.password=mydb2password
記得更改這些值,以便與您的 Db2 實例的位置和憑證相匹配。
創建 JPA 類
在項目中,找到 Spring Boot 主應用程序類。
對于通過 Spring Initializr 創建的項目,主應用程序類以創建項目時提供的工件名稱來命名。例如,如果通過 com.example 包命名工件 demo,您將在 src/main/java/com/example/DemoApplication.java 目錄下找到主類。
對于通過 IBM Cloud 開發者工具創建的項目,主應用程序類始終位于 src/main/java/application/SBApplication.java 目錄下。
在與應用程序類相同的目錄下,為 JPA 類 jpa 創建一個目錄。
在 jpa 目錄下,創建表示表行的類。該類應該與您之前創建的表使用相同的名稱。
import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Things { @Id private Long id; private String name; public Things(){ } @Override public String toString() { return String.format("Things[id=%d, name='%s']", id, name); } }
在與該類相同的目錄下,創建用于訪問數據的 Repository 類。接口用您剛才創建的類的類型。
import java.util.List; import org.springframework.data.repository.CrudRepository; public interface Repository extends CrudRepository<Things, Long> { List<Things> findByName(String name); Iterable<Things> findAll(); }
將 JPA 類的簡單調用添加到 RestController
對于通過 Spring Initializr 創建的項目,您必須創建自己的 RestController 類。在 jpa 目錄旁創建一個控制器目錄,然后在該目錄下創建 RestController 類。
對于通過 IBM Cloud 開發者工具創建的項目,在 src/main/java/application/rest/v1/Example.java 中已為您提供 RestController 示例。
RestController 為您的應用程序提供 REST 端點。使用 @Autowired 將倉庫注入到 RestController 中,然后添加一個可以返回表中數據的簡單端點:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import java.util.List; @RestController public class Example { @Autowired Repository repo; @RequestMapping("test") public @ResponseBody ResponseEntity<String> example() { List<String> list = new ArrayList<>(); list.add("Table data..."); for(Things things: repo.findAll()){ list.add(things.toString()); } return new ResponseEntity<String>(list.toString(), HttpStatus.OK); } }
您可能需要為之前創建的 Things 和 Repository 類添加導入功能。
運行該示例
您可以像運行任何其他 Spring Boot 應用程序一樣運行該示例。
mvn spring-boot:run
然后,您可以訪問此端點,查看它查詢數據庫和檢索信息的情況。
$ curl http://localhost:8080/test [Table data..., Things[id=1, name='fish'], Things[id=2, name='wibble'], Things[id=3, name='stiletto']]
感謝各位的閱讀!關于“如何使用Spring通過JPA連接到Db2”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。