亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

實(shí)例講解使用Spring通過(guò)JPA連接到Db2

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

前提條件

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

創(chuàng)建項(xiàng)目

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

IBM Cloud 開發(fā)者工具

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

ibmcloud dev create

1.選擇 Backend Service / Web App。

2.選擇 Java – Spring。

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

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

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

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

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

8.將 Spring JPA 啟動(dòng)器添加到 pom.xml 中的 dependencies 元素中:

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

Spring Initializr

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

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

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

3.添加 Web 依賴項(xiàng)。

4.添加 JPA 依賴項(xiàng)。

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

6.解壓程序包。

7.切換到解壓目錄。

將db2jcc4.jar 添加到項(xiàng)目中

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

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

解壓此程序包,并將 db2jcc4.jar 文件保存到項(xiàng)目根目錄下的一個(gè)新的 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 倉(cāng)庫(kù)添加到 pom.xml:

<repositories>
<repository>
<id>repo</id>
<url>file://${project.basedir}/lib</url>
</repository>
</repositories>

將依賴添加到 pom.xml 中的 dependency 元素,并相應(yīng)地更改版本以實(shí)現(xiàn)匹配:

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


創(chuàng)建示例表

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

使用 Db2 命令提示符連接到 Db2 實(shí)例,并發(fā)出以下 SQL 語(yǔ)句創(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')

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

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

Spring 需要被告知如何與數(shù)據(jù)庫(kù)進(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 實(shí)例的位置和憑證相匹配。

創(chuàng)建 JPA 類

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

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

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

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

在 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)建用于訪問(wèn)數(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 類的簡(jiǎn)單調(diào)用添加到 RestController

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

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

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

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)入功能。

運(yùn)行該示例

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

mvn spring-boot:run

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

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

總結(jié)

通過(guò)使用 Spring 自動(dòng)配置和 Spring Boot 屬性,Spring Boot 能夠使我們以 Spring 原生方式輕松地配置和使用 Db2 實(shí)例。

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

相關(guān)文章

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

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

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

    Java避免死鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

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

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

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

    JDK1.8中的ConcurrentHashMap使用及場(chǎng)景分析

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

    Java?Jar包項(xiàng)目?jī)?nèi)存設(shè)置方法舉例

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

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

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

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

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

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

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

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

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

    Java AQS中ReentrantReadWriteLock讀寫鎖的使用

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

最新評(píng)論