系列文章目录
国产人大金仓数据库
保姆教程系列一、国产人大金仓数据库安装教程
保姆教程系列二、国产人大金仓数据库无缝迁移
国产达梦数据库
保姆教程系列一、国产达梦数据库安装教程
保姆教程系列二、国产数据库达梦无缝迁移
文章目录
前言
请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、
提示:以下是本篇文章正文内容,下面案例可供参考
简介
一、获取依赖
注意:根据数据库类型,下载对应依赖,各取所需!!!
1.1 人大金仓依赖
人大金仓官网下载JDBCjar包,具体位置如下图:
1.2 达梦依赖
达梦数据库(DM8)在其安装目录下是可以找到驱动包
达梦8 JDBC驱动版本说明:
1. DmJdbcDriver16 对应 Jdk1.6 及以上环境
2. DmJdbcDriver17 对应 Jdk1.7 及以上环境
3. DmJdbcDriver18 对应 Jdk1.8 及以上环境
二、使用idea创建spring-boot项目
友情链接:从无到有搭建SpringBoot项目
三、导入依赖
注意:此处引入依赖以人大金仓为例!!!
<!--KingBase数据库-->
<dependency>
<groupId>com.kingbase8</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
</dependency>
3.1 将jar包加入本地maven库
方式一: 在对应依赖下指定jar绝对路径
<!--KingBase数据库-->
<dependency>
<groupId>com.kingbase8</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
<!--指定项目自带jar-->
<scope>system</scope>
<systemPath>${project.basedir}/lib/kingbase8-8.6.0.jar</systemPath>
</dependency>
方式二: 将jar手动添加到maven仓库中,设置层级文件夹
D:\Program Files (x86)\repository\com\kingbase8\kingbase8\8.6.0\kingbase8-8.6.0.jar
方式三: 通过mvn命令设置jar(与方式二效果一致,其通过命令实现)
mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar
mvn install:install-file -Dfile=jar包的位置 -DgroupId=com.kingbase -DartifactId=kingbase8 -Dversion=8.6.0 -Dpackaging=jar
完整pom.xml如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 阿里巴巴druid 连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>
<!--MySQL数据库-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
<!--指定项目自带jar-->
<!--<scope>system</scope>
<systemPath>${project.basedir}/lib/mysql-connector-java-8.0.25.jar</systemPath>-->
</dependency>
<!--KingBase数据库-->
<dependency>
<groupId>com.kingbase8</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
<!--指定项目自带jar-->
<!-- <scope>system</scope>
<systemPath>${project.basedir}/lib/kingbase8-8.6.0.jar</systemPath>-->
</dependency>
<!--DmBase数据库-->
<dependency>
<groupId>com.dm</groupId>
<artifactId>DmJdbcDriver</artifactId>
<version>18</version>
<!--指定项目自带jar-->
<!-- <scope>system</scope>
<systemPath>${project.basedir}/lib/DmJdbcDriver-18.jar</systemPath>-->
</dependency>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<!--tk.mybatis依赖-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!--日志依赖-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>1.7.25</version>
</dependency>
<!--lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--测试类依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
四、操作数据,配置各种数据连接
注意:以下配置了三种数据库连接方式:MySQL、Kingbase8、Dm
4.1 修改application.yml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
#MySQL数据库
#url: jdbc:mysql://localhost:3306/ect-sca?useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
#driver-class-name: com.mysql.cj.jdbc.Driver
#人大金仓数据库
url: jdbc:kingbase8://localhost:54321/ect_sca?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.kingbase8.Driver
#达梦数据库
#url: jdbc:dm://192.168.248.128:52360/ect-sca?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
#driver-class-name: dm.jdbc.driver.DmDriver
username: SYSTEM
password: SYSTEM
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
4.2 新增entity实体类
package com.example.kingbase.entity;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Table;
@Getter
@Setter
@Table(name ="rule")
public class Rule {
private String rid;
private String name;
private String status;
private String lambda;
private String type;
private String is_delete;
}
4.3 新增Mapper接口
注意:此处操作数据库使用:tk.mybatis
package com.example.kingbase.mapper;
import com.example.kingbase.entity.Rule;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;
@Repository
public interface RuleMapper extends Mapper<Rule> {//继承tk.mybatis基类内嵌基本增删改查方法
}
4.4 修改启动类 扫描包
package com.example.kingbase;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;
@MapperScan(basePackages = {"com.example"})//扫描Mapper接口
@SpringBootApplication
public class KingbaseApplication {
public static void main(String[] args) {
SpringApplication.run(KingbaseApplication.class, args);
}
}
4.5 创建测试类
package com.example.kingbase;
import com.example.kingbase.entity.Rule;
import com.example.kingbase.mapper.RuleMapper;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest
class KingbaseApplicationTests {
@Autowired
private RuleMapper ruleMapper;
@Test
void contextLoads() {
List<Rule> itemList = ruleMapper.selectAll();
itemList.forEach(r-> System.out.println("查询数据:" + r.getRid() +"----"+ r.getName()));
}
}
4.6 控制台打印数据结果
至此 人大金仓、达梦国产数据库整合spring boot已经整合完毕!!!
总结
我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!