SpringBoot - 整合并操作DB2数据库教程(手动添加DB2 JDBC驱动)
由于 Maven 中不提供 Db2 JDBC Driver(JCC)。Spring Boot 项目如果需要连接 DB2 数据库,我们必须从 IBM 官网上自行下载相应版本的 DB2 JDBC Driver 的 jar 包,然后手动添加到本地仓库使用。或者将下载下来的驱动 jar 包直接添加到项目中并配置使用。下面通过样例分别演示这两种方式。
方式一:把 jar 添加到项目中
1,下载 jar 包
![](/blog_uploads/202003/2020031209542018326.png)
(2)然后将包含驱动的压缩包下载到本地:
![](/blog_uploads/202003/2020031210034230176.png)
(3)将压缩包解压后,里面的其中 db2jcc4.jar 便是 db2 的驱动。
![](/blog_uploads/202003/2020031211435416184.png)
2,添加并使用 jar 包
(1)我之前写过文章介绍如何在项目中引入本地或第三方 JAR 包(点击查看),这里操作步骤同之前是一样的。首先在与 src 同级的目录下新建一个 lib 目录,然后将 jar 包放在 lib 目录下:
![](/blog_uploads/202003/2020031211444968942.png)
(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
![](/blog_uploads/202003/2020031211490186764.png)
(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 接口可以看到页面上成功显示出相关的数据信息:
![](/blog_uploads/202003/2020031211425655216.png)