飞码网-免费源码博客分享网站

点击这里给我发消息

通过JDBC在Spring上进行DB2的开发 |-Java教程

飞码网-免费源码博客分享网站 爱上飞码网—https://www.codefrees.com— 飞码网-matlab-python-C++ 爱上飞码网—https://www.codefrees.com— 飞码网-免费源码博客分享网站

在本教程中,学习如何使用Spring通过JDBC连接到DB2实例。

先决条件

  • Maven
  • A DB2 instance with access credentials:
    • IBM Cloud
    • Local
  • Java JDK
  • IBM Cloud开发人员工具(可选)

建立专案

首先确定是否计划使用IBM Cloud Developer Tools或Spring Initializr创建项目,然后按照相应的指示进行操作。

IBM Cloud开发人员工具

如果使用IBM Cloud开发人员工具创建项目,则使用该dev插件创建新的Spring Microservice。

ibmcloud dev create
  1. 选择“后端服务/ Web应用程序”
  2. 选择Java – Spring
  3. 选择带有Spring的Java微服务(微服务)
  4. 为项目命名(例如MyDb2JDBCProject)。
  5. 拒绝向应用程序添加服务(n)。
  6. None如果不确定,请选择适当的工具链或('No Devops')。
  7. 转到应用程序目录。
  8. 将Spring JDBC入门程序添加到dependencies元素中的pom.xml中

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

春季Initializr

如果使用Spring Initializr创建项目,则使用浏览器访问https://start.spring.io

  1. 选择您的Spring Boot级别(2.1.8当前为默认值)。
  2. 命名您的项目工件(例如,mydb2jdbcproject)。
  3. 添加Spring Web依赖项。
  4. 添加Spring Data JDBC依赖项。
  5. 选择Generate Project,然后下载应用程序档案。
  6. 解压缩档案。
  7. 转到解压目录。

将Db2 JDBC驱动程序(JCC)依赖项添加到pom.xml

添加来自Maven Central的Bb2驱动程序依赖项声明,例如:

<dependency>
  <groupId>com.ibm.db2</groupId>
  <artifactId>jcc</artifactId>
  <version>11.5.0.0</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配置一样,该消息存在于src / main / resources / application.properties中的application.properties(或application.yaml)文件中。

将以下属性添加到application.properties文件:

spring.datasource.url=jdbc:db2://mydb2host:50000/mydb2databasename
spring.datasource.username=mydb2username
spring.datasource.password=mydb2password

切记更改值以匹配您的DB2实例的位置和凭证。

创建JDBC类

  1. 在项目中,找到主要的Spring Boot Application类。

    • 对于使用Spring Initializr创建的项目,主应用程序类以创建项目时提供的工件名称命名。例如,如果您demo使用包对工件进行了命名com.example,则会在src / main / java / com / example / DemoApplication.java中找到您的主类。
    • 对于使用IBM Cloud Developer Tools创建的项目,主应用程序类始终位于src / main / java / application / SBApplication.java。
  2. 在与应用程序类相同的目录中,为JDBC类创建目录jdbc

  3. 在jdbc目录中,创建将代表表行的类:

    public class Things {
      private Long id;
      private String name;
      public Things(){
      }
      public Things(long id, String name){
        this.id = id;
        this.name = name;
      }
      @Override
      public String toString() {
        return String.format("Things[id=%d, name='%s']", id, name);
      }
    }
    

通过JDBC将一个简单的数据库查询添加到RestController

对于使用Spring Initializr创建的项目,您必须创建自己的RestController类。在jdbc目录旁边创建一个控制器目录,并在其中创建RestController类。

对于使用IBM Cloud Developer Tools创建的项目,在src / main / java / application / rest / v1 / Example.java中为您提供了示例RestController。

RestController为您的应用程序提供REST端点。使用将该存储库注入RestController @Autowired,并添加一个简单的端点,该端点返回表中的数据:

import org.springframework.jdbc.core.JdbcTemplate;
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
    JdbcTemplate jdbcTemplate;

    @RequestMapping("test")
    public @ResponseBody ResponseEntity<String> example() {
        List<String> list = new ArrayList<>();
        list.add("Table data...");
        jdbcTemplate.query(
                "SELECT * FROM things", new Object[]{},
                (rs,rowNum) -> new Things(rs.getLong("id"), rs.getString("name")))
                .forEach(thing -> list.add(thing.toString()));
        return new ResponseEntity<String>(list.toString(), HttpStatus.OK);
    }

}

您可能需要为Things之前创建添加导入

运行示例

您可以像运行其他任何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 Boot,可以使用Spring自动配置和Spring Boot属性以Spring本机方式轻松配置和使用DB2实例。

飞码网-免费源码博客分享网站 爱上飞码网—https://www.codefrees.com— 飞码网-matlab-python-C++ 爱上飞码网—https://www.codefrees.com— 飞码网-免费源码博客分享网站
赞 ()
内容页底部广告位3
留言与评论(共有 0 条评论)
   
验证码: