返回 导航

SpringBoot / Cloud

hangge.com

SpringBoot - 整合并操作DB2数据库教程(手动添加DB2 JDBC驱动)

作者:hangge | 2020-03-16 08:10
    由于 Maven 中不提供 Db2 JDBC DriverJCC)。Spring Boot 项目如果需要连接 DB2 数据库,我们必须从 IBM 官网上自行下载相应版本的 DB2 JDBC Driver jar 包,然后手动添加到本地仓库使用。或者将下载下来的驱动 jar 包直接添加到项目中并配置使用。下面通过样例分别演示这两种方式。

方式一:把 jar 添加到项目中

1,下载 jar 包

(1)首先访问 IBM 官方的 JDBC Drivers 页面(点击访问)。查看自已的 oracle 版本(比如我的数据库版本是 11.5),点对应的版本进去:

(2)然后将包含驱动的压缩包下载到本地:

(3)将压缩包解压后,里面的其中 db2jcc4.jar 便是 db2 的驱动。

2,添加并使用 jar 包

(1)我之前写过文章介绍如何在项目中引入本地或第三方 JAR 包(点击查看),这里操作步骤同之前是一样的。首先在与 src 同级的目录下新建一个 lib 目录,然后将 jar 包放在 lib 目录下:

(2)接着配置 pom.xml 文件,在依赖中添加需要引入的 jar 包: 
<dependency>
    <groupId>com.ibm.db2</groupId>
    <artifactId>db2jcc4</artifactId>
    <version>4.26.14</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/db2jcc4.jar</systemPath>
</dependency>

(3)最后还需要在 spring-boot-maven-plugin 部分添加如下配置,否则项目只能运行,一旦需要打 jar 就会报错。
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <includeSystemScope>true</includeSystemScope>
    </configuration>
</plugin>

方式二:将 jar 安装到本地仓库

1,下载 jar 

首先同样按照上面的步骤,将对应版本的数据库驱动 jar 包下载到本地。

2,安装到本地仓库并使用

(1)然后打开控制台在 jar 包同一级目录下执行如下命令将 jar 包安装到本地仓库:
注意:如果使用的是其他版,修改相关参数配置即可。
mvn install:install-file -Dfile=db2jcc4.jar -DgroupId=com.ibm.db2 -DartifactId=db2jcc4 -Dversion=4.26.14 -Dpackaging=jar

(2)安装完毕后,项目中就可以直接引入使用了:
注意:如果找不到依赖,检查下 IDEA 里面配置的仓库地址跟上面 mvn install 安装命令的本地仓库地址是否一致。
<dependency>
    <groupId>com.ibm.db2</groupId>
    <artifactId>db2jcc4</artifactId>
    <version>4.26.14</version>
</dependency>

附:操作 DB2 数据库

(1)添加完数据库驱动后,下面实现一个简单的数据库操作样例:通过 JdbcTemplate 获取 数据库数据并展示到前台。
(1)关于 JdbcTemplate 更详细的用法,可以参考我之前写的文章: 

(2)或者我们也可以使用 MyBatis 操作 DB2 数据库,具体可以参考我之前写的文章: 

(3)当然还可以使用 JPA 操作 DB2 数据库,具体可以参考我之前写的文章: 

(2)首先编辑 pom.xml 文件,添加相关依赖:spring-jdbc 以及数据库连接池依赖:
<!-- spring-jdbc -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<!-- 数据库连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.9</version>
</dependency>

(3)接着在 application.properties 中配置数据库连接信息:
spring.datasource.driverClassName=com.ibm.db2.jcc.DB2Driver
spring.datasource.url=jdbc:db2://192.168.1.102:50000/hangge
spring.datasource.username=db2admin
spring.datasource.password=123

(4)创建数据表对应的实体类:
@Getter
@Setter
@NoArgsConstructor
@ToString
public class Employee {
    private Integer empId;
    private String empName;
    private Integer empAge;
}

(5)最后在 Controller 中注入 JdbcTemplate 并进行数据查询:
@RestController
public class HelloController {

    @Autowired
    JdbcTemplate jdbcTemplate;

    @GetMapping("/test")
    public List<Employee> test(){
        List<Employee> employees = jdbcTemplate.query("SELECT * FROM HANGGE.EMPLOYEE",
                new BeanPropertyRowMapper<>(Employee.class));
        return employees;
    }
}

(6)启动项目,访问 /test 接口可以看到页面上成功显示出相关的数据信息:
评论

全部评论(0)

回到顶部