欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

實例講解使用Spring通過JPA連接到Db2

 更新時間:2019年06月11日 09:35:34   作者:Ozzy Osborne  
這篇文章主要介紹了通過實例講解使用Spring通過JPA連接到Db2,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,下面我們來一起學(xué)習(xí)一下吧

前提條件

  • Maven
  • 一個擁有訪問憑證的 Db2 實例:
    • IBM Cloud
    • 本地
  • Java JDK
  • IBM Cloud 開發(fā)者工具(可選)

創(chuàng)建項目

首先,確定您計劃使用 IBM Cloud 開發(fā)者工具還是 Spring Initializr 創(chuàng)建項目,然后按照各自的說明進(jìn)行操作。

IBM Cloud 開發(fā)者工具

如果您使用 IBM Cloud 開發(fā)者工具創(chuàng)建項目,那么使用 dev 插件創(chuàng)建新的 Spring 微服務(wù)。

ibmcloud dev create

1.選擇 Backend Service / Web App。

2.選擇 Java – Spring。

3.選擇 Java Microservice with Spring (Microservice)。

4.指定項目名稱(例如 MyDb2JPAProject)。

5.拒絕向應(yīng)用程序添加服務(wù) (n)。

6.選擇合適的工具鏈,如果不確定,選擇 None("No Devops")。

7.切換到應(yīng)用程序目錄。

8.將 Spring JPA 啟動器添加到 pom.xml 中的 dependencies 元素中:

<dependency>
<groupId>org.springframework.boot</groupId>>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

Spring Initializr

如果您使用 Spring Initializr 創(chuàng)建項目,那么使用瀏覽器訪問 https://start.spring.io。

1.選擇您的 Spring Boot 級別(目前默認(rèn)版本為 2.0.4)。

2.指定項目工件名稱(例如 mydb2jpaproject)。

3.添加 Web 依賴項。

4.添加 JPA 依賴項。

5.選擇 Generate Project,然后下載應(yīng)用程序包。

6.解壓程序包。

7.切換到解壓目錄。

將db2jcc4.jar 添加到項目中

Maven 中不提供 Db2 JDBC Driver (JCC),所以您必須直接從 IBM 下載,并將其添加到本地 maven 倉庫。

Db2 JDBC 驅(qū)動程序版本和下載中選擇并下載適合您的驅(qū)動程序包。

解壓此程序包,并將 db2jcc4.jar 文件保存到項目根目錄下的一個新的 lib 目錄中。

在此 lib 目錄中,將Jar 作為 Maven 包添加,并根據(jù)您下載的程序包相應(yīng)地更改版本:

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 元素,并相應(yīng)地更改版本以實現(xiàn)匹配:

<dependency>
<groupId>com.ibm.db2.jcc</groupId>
<artifactId>db2jcc4</artifactId>
<version>4.24.92</version>
</dependency>


創(chuàng)建示例表

對于本快速指南,我們只使用一個數(shù)據(jù)庫和一個表。

使用 Db2 命令提示符連接到 Db2 實例,并發(fā)出以下 SQL 語句創(chuàng)建 things 表并填充一些數(shù)據(jù):

create table things (id int, name varchar(255))
insert into things (id,name) values (1,'fish'),(2,'wibble'),(3,'stiletto')

如果您為此表使用不同的名稱,就需要記住這個名稱,以便稍后創(chuàng)建 JPA 類時使用。

為 Db2 實例配置 Spring 數(shù)據(jù)

Spring 需要被告知如何與數(shù)據(jù)庫進(jìn)行通信,與其他 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 實例的位置和憑證相匹配。

創(chuàng)建 JPA 類

在項目中,找到 Spring Boot 主應(yīng)用程序類。

對于通過 Spring Initializr 創(chuàng)建的項目,主應(yīng)用程序類以創(chuàng)建項目時提供的工件名稱來命名。例如,如果通過 com.example 包命名工件 demo,您將在 src/main/java/com/example/DemoApplication.java 目錄下找到主類。

對于通過 IBM Cloud 開發(fā)者工具創(chuàng)建的項目,主應(yīng)用程序類始終位于 src/main/java/application/SBApplication.java 目錄下。

在與應(yīng)用程序類相同的目錄下,為 JPA 類 jpa 創(chuàng)建一個目錄。

在 jpa 目錄下,創(chuàng)建表示表行的類。該類應(yīng)該與您之前創(chuàng)建的表使用相同的名稱。

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);
}
}

在與該類相同的目錄下,創(chuàng)建用于訪問數(shù)據(jù)的 Repository 類。接口用您剛才創(chuàng)建的類的類型。

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 類的簡單調(diào)用添加到 RestController

對于通過 Spring Initializr 創(chuàng)建的項目,您必須創(chuàng)建自己的 RestController 類。在 jpa 目錄旁創(chuàng)建一個控制器目錄,然后在該目錄下創(chuàng)建 RestController 類。

對于通過 IBM Cloud 開發(fā)者工具創(chuàng)建的項目,在 src/main/java/application/rest/v1/Example.java 中已為您提供 RestController 示例。

RestController 為您的應(yīng)用程序提供 REST 端點。使用 @Autowired 將倉庫注入到 RestController 中,然后添加一個可以返回表中數(shù)據(jù)的簡單端點:

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);
}
}

您可能需要為之前創(chuàng)建的 Things 和 Repository 類添加導(dǎo)入功能。

運行該示例

您可以像運行任何其他 Spring Boot 應(yīng)用程序一樣運行該示例。

mvn spring-boot:run

然后,您可以訪問此端點,查看它查詢數(shù)據(jù)庫和檢索信息的情況。

$ curl http://localhost:8080/test
[Table data..., Things[id=1, name='fish'], Things[id=2, name='wibble'], Things[id=3, name='stiletto']]

總結(jié)

通過使用 Spring 自動配置和 Spring Boot 屬性,Spring Boot 能夠使我們以 Spring 原生方式輕松地配置和使用 Db2 實例。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • springBoot啟動時讓方法自動執(zhí)行的幾種實現(xiàn)方式

    springBoot啟動時讓方法自動執(zhí)行的幾種實現(xiàn)方式

    這篇文章主要介紹了springBoot啟動時讓方法自動執(zhí)行的幾種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java避免死鎖_動力節(jié)點Java學(xué)院整理

    Java避免死鎖_動力節(jié)點Java學(xué)院整理

    在有些情況下死鎖是可以避免的。本文將展示三種用于避免死鎖的技術(shù)。對java避免死鎖的相關(guān)知識感興趣的朋友一起通過本文學(xué)習(xí)吧
    2017-06-06
  • spring boot加載第三方j(luò)ar包的配置文件的方法

    spring boot加載第三方j(luò)ar包的配置文件的方法

    本篇文章主要介紹了spring boot加載第三方j(luò)ar包的配置文件的方法,詳細(xì)的介紹了spring boot jar包配置文件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • JDK1.8中的ConcurrentHashMap使用及場景分析

    JDK1.8中的ConcurrentHashMap使用及場景分析

    這篇文章主要介紹了JDK1.8中的ConcurrentHashMap使用及場景分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java?Jar包項目內(nèi)存設(shè)置方法舉例

    Java?Jar包項目內(nèi)存設(shè)置方法舉例

    這篇文章主要給大家介紹了關(guān)于Java?Jar包項目內(nèi)存設(shè)置方法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • Java實戰(zhàn)角色權(quán)限后臺腳手架系統(tǒng)的實現(xiàn)流程

    Java實戰(zhàn)角色權(quán)限后臺腳手架系統(tǒng)的實現(xiàn)流程

    只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+Springboot+Maven+myBaits-Plus+Vue+Element-UI+Mysql實現(xiàn)一個角色權(quán)限后臺腳手架系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2022-01-01
  • Spring Cloud EureKa Ribbon 服務(wù)注冊發(fā)現(xiàn)與調(diào)用

    Spring Cloud EureKa Ribbon 服務(wù)注冊發(fā)現(xiàn)與調(diào)用

    這篇文章主要介紹了Spring Cloud EureKa Ribbon 服務(wù)注冊發(fā)現(xiàn)與調(diào)用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Java連接Oracle數(shù)據(jù)庫完整步驟記錄

    Java連接Oracle數(shù)據(jù)庫完整步驟記錄

    數(shù)據(jù)庫的操作是當(dāng)前系統(tǒng)開發(fā)必不可少的開發(fā)部分之一,下面這篇文章主要給大家介紹了關(guān)于Java連接Oracle數(shù)據(jù)庫的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 詳解如何使用SpringBoot的緩存@Cacheable

    詳解如何使用SpringBoot的緩存@Cacheable

    這篇文章主要為大家介紹了如何使用SpringBoot的緩存@Cacheable詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Java AQS中ReentrantReadWriteLock讀寫鎖的使用

    Java AQS中ReentrantReadWriteLock讀寫鎖的使用

    ReentrantReadWriteLock稱為讀寫鎖,它提供一個讀鎖,支持多個線程共享同一把鎖。這篇文章主要講解一下ReentrantReadWriteLock的使用和應(yīng)用場景,感興趣的可以了解一下
    2023-02-02

最新評論