KingbaseES数据库配置Hikari数据源
Hikari是一个高性能的数据库连接池,它是Spring Boot 2.x中的默认数据源。
一、下载驱动
打开下面网址:选择对应平台的jdbc驱动程序。
人大金仓-成为世界卓越的数据库产品与服务提供商 (kingbase.com.cn)
这里以x86平台为例:
下载完成后目录里面包含以下文件:根据项目的JDK版本选择对应的驱动
--kingbase8-8.6.0.jar>= jdk 1.8
kingbase8-8.6.0.jar
--kingbase8-8.6.0.jar = jdk 1.6
kingbase8-8.6.0.jre6.jar
--kingbase8-8.6.0.jar = jdk 1.7
kingbase8-8.6.0.jre7.jar
--kingbase8-8.6.0.jar>= jdk 1.8
postgresql-42.2.9.jar
--kingbase8-8.6.0.jar = jdk 1.6
postgresql-42.2.9.jre6.jar
--kingbase8-8.6.0.jar = jdk 1.7
postgresql-42.2.9.jre7.jar
二、上传驱动jar包到maven仓库
以本地仓库为例:
--执行命令安装驱动到本地仓库
mvn install:install-file -Dfile=C:\DbTools\Interface\kingbase8-8.6.0.jar -DgroupId=com.kingbase8 -DartifactId=kingbase8 -Dversion=8.6.0 -Dpackaging=jar
安装过程:
D:\JAVA\jdk1.8.0_333\bin\java.exe -Dmaven.multiModuleProjectDirectory=C:\Users\realGuob\Desktop\Work\code\Hikari -Djansi.passthrough=true "-Dmaven.home=C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\plugins\maven\lib\maven3" "-Dclassworlds.conf=C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\plugins\maven\lib\maven3\bin\m2.conf" "-Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\plugins\maven\lib\maven-event-listener.jar" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\lib\idea_rt.jar=58778:C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\plugins\maven\lib\maven3\boot\plexus-classworlds-2.6.0.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\plugins\maven\lib\maven3\boot\plexus-classworlds.license" org.codehaus.classworlds.Launcher -Didea.version=2022.3.3 install:install-file -Dfile=C:\DbTools\Interface\kingbase8-8.6.0.jar -DgroupId=com.kingbase8 -DartifactId=kingbase8 -Dversion=8.6.0 -Dpackaging=jar
[WARNING]
[WARNING] Some problems were encountered while building the effective settings
[WARNING] Unrecognised tag: 'mirror' (position: START_TAG seen ...0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">\r\n <mirror>... @5:13) @ C:\Users\realGuob\.m2\settings.xml, line 5, column 13
[WARNING]
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< org.example:Hikari >-------------------------
[INFO] Building Hikari 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ Hikari ---
[INFO] Installing C:\DbTools\Interface\kingbase8-8.6.0.jar to C:\Users\realGuob\.m2\repository\com\kingbase8\kingbase8\8.6.0\kingbase8-8.6.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.685 s
[INFO] Finished at: 2023-05-31T18:17:48+08:00
[INFO] ------------------------------------------------------------------------
进程已结束,退出代码0
没有报错说明已成功安装,安装成功后建议更新下maven索引。
三、配置pom.xml
添加如下依赖:
<dependencies>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
<dependency>
<groupId>com.kingbase8</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
</dependency>
</dependencies>
添加完成后刷新或者使用maven重新加载下项目。
四、Hikari数据源测试
1.创建HikariConfig对象设置数据库的相关属性:用户名、密码、端口号、数据库名称、数据源对象等
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
public class DBUtil {
static final HikariDataSource DS;
static {
HikariConfig config = new HikariConfig();
config.setAutoCommit(true);
config.setDataSourceClassName("com.kingbase8.ds.KBSimpleDataSource");
config.setUsername("system");
config.setPassword("system");
config.addDataSourceProperty("serverName", "192.168.10.43");
config.addDataSourceProperty("portNumber", 5432);
config.addDataSourceProperty("databaseName", "test");
DS = new HikariDataSource(config);
}
public static void close() {
DS.close();
}
}
2.测试创建的数据源对象:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
public static void main(String[] args) {
try (Connection conn = DBUtil.DS.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from tb limit 10")) {
while (rs.next()) {
System.out.println(rs.getLong("id") + "\t" + rs.getDate("pdate") + "\t" + rs.getString("info"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
运行测试用例结果输出:
D:\JAVA\jdk1.8.0_333\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\lib\idea_rt.jar=65176:C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\bin" -Dfile.encoding=UTF-8 -classpath D:\JAVA\jdk1.8.0_333\jre\lib\charsets.jar;D:\JAVA\jdk1.8.0_333\jre\lib\deploy.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\access-bridge-64.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\cldrdata.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\dnsns.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\jaccess.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\jfxrt.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\localedata.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\nashorn.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\sunec.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\sunjce_provider.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\sunmscapi.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\sunpkcs11.jar;D:\JAVA\jdk1.8.0_333\jre\lib\ext\zipfs.jar;D:\JAVA\jdk1.8.0_333\jre\lib\javaws.jar;D:\JAVA\jdk1.8.0_333\jre\lib\jce.jar;D:\JAVA\jdk1.8.0_333\jre\lib\jfr.jar;D:\JAVA\jdk1.8.0_333\jre\lib\jfxswt.jar;D:\JAVA\jdk1.8.0_333\jre\lib\jsse.jar;D:\JAVA\jdk1.8.0_333\jre\lib\management-agent.jar;D:\JAVA\jdk1.8.0_333\jre\lib\plugin.jar;D:\JAVA\jdk1.8.0_333\jre\lib\resources.jar;D:\JAVA\jdk1.8.0_333\jre\lib\rt.jar;D:\app\virtual\product\12.2.0\dbhome_1\jdbc\lib\ojdbc8.jar;C:\Users\realGuob\Desktop\Work\code\Hikari\target\test-classes;C:\Users\realGuob\Desktop\Work\code\Hikari\target\classes;C:\Users\realGuob\.m2\repository\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;C:\Users\realGuob\.m2\repository\com\kingbase8\kingbase8\8.6.0\kingbase8-8.6.0.jar;C:\Users\realGuob\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\realGuob\.m2\repository\org\slf4j\slf4j-simple\1.7.30\slf4j-simple-1.7.30.jar Test
[main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
[main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
1 2023-01-01 c3b6f7eeb6
2 2023-01-01 2a7c3bf29a
3 2023-01-01 a4c40621c7
4 2023-01-01 422733f11f
5 2023-01-01 ce3f7bf0b7
6 2023-01-01 fa14aba9aa
7 2023-01-01 bdf13c7e1a
8 2023-01-01 02f2c2e404
9 2023-01-01 e61c473905
10 2023-01-01 20e44227b2
进程已结束,退出代码0
KingbaseES数据库配置Hikari数据源的更多相关文章
- Spring Boot入门系列(十四)使用JdbcTemplate操作数据库,配置多数据源!
前面介绍了Spring Boot 中的整合Mybatis并实现增删改查.如何实现事物控制.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/c ...
- 如何通过Spring Boot配置动态数据源访问多个数据库
之前写过一篇博客<Spring+Mybatis+Mysql搭建分布式数据库访问框架>描述如何通过Spring+Mybatis配置动态数据源访问多个数据库.但是之前的方案有一些限制(原博客中 ...
- SpringMVC+ Mybatis 配置多数据源 + 自动数据源切换 + 实现数据库读写分离
现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库.Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询.因为在实际的应 ...
- 【spring boot】12.spring boot对多种不同类型数据库,多数据源配置使用
2天时间,终于把spring boot下配置连接多种不同类型数据库,配置多数据源实现! ======================================================== ...
- springboot入门系列(四):SpringBoot和Mybatis配置多数据源连接多个数据库
SpringBoot和Mybatis配置多数据源连接多个数据库 目前业界操作数据库的框架一般是 Mybatis,但在很多业务场景下,我们需要在一个工程里配置多个数据源来实现业务逻辑.在SpringBo ...
- springboot配置Druid数据源
springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...
- Spring Boot系列学习文章(二) -- 配置多数据源
前言: 在上一章中,我们已经搭建好项目,现在来讲一下如何配置数据源. 由于在有的项目中,用的数据源可能会涉及多个,且是不同类型的,我们接下来就讲解多数据源的配置. 情景描述: 现有项目需要访问不同的数 ...
- [转帖]Hikari 数据源介绍
Hikari 数据源介绍 jimmy・2018 年 09 月 23 日・默认分类 预估 https://izhong.me/index.php/archives/78/ 介绍 官网地址: https: ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-1.整合Mybatis访问数据库和阿里巴巴数据源
笔记 1.整合Mybatis访问数据库和阿里巴巴数据源 简介:整合mysql 加入mybatis依赖,和加入alibaba druid数据源 1.加入依赖(可以用 http://start.s ...
- SpringBoot2.0 配置多数据源
一.简述 配置多数据源意思就是在一个项目中使用多个数据库,在项目使用中可以不用手动切换数据库来实现不同数据库的数据获取和更新. 源码地址: https://github.com/hanguilin/b ...
随机推荐
- Swoole从入门到入土(28)——协程[核心API]
本节专门介绍swoole提供的协程机制中核心的API 类方法: 1) set():协程设置,设置协程相关选项. Swoole\Coroutine::set(array $options); 2) ge ...
- js数组类型
js数组类型: 数组检测 1.判断变量是否为数组类型: arr1 instanceof Array Array.isArray(arr1); true 转换方法 toString()方法,以便返回数组 ...
- virtualbox中给redhat安装增强功能
关于虚拟机中安装redhat请参考其他教程: 1.点击虚拟机菜单:设备--安装增强功能.... 2.ssh连接到redhat,执行以下操作: [root@rhel-server ~]# mount / ...
- Android里使用AspectJ实现AOP
前言 Aspectj提供一种在字符串里编程的模式,即在字符串里写函数,然后程序启动的时候会动态的把字符串里的函数给执行了. 例如: "execution(* *(..))" 这里 ...
- win32 - 控制台聊天
仅适用于同一台电脑的两个进程聊天,对于不同电脑之前的聊天需要依靠tcp/ip协议. 两个进程是通过发送WM_COPYDATA 消息来传输字节的. 代码如下: Server.cpp #include & ...
- 国内无法下载k8s镜像的解决办法
关于通过各种方法下载k8s相关镜像的方法总结如下: 1.使用Azure中国镜像站,目前限制只能"Azure China IP"可用,不再对外提供服务,此路不通. 2.直接使用mir ...
- python列表操作的大O效率
- matplotlib画图中x轴过于密集的解决办法
import matplotlib.ticker as ticker ax.xaxis.set_major_locator(ticker.MultipleLocator(base=10)) # tic ...
- 在矩池云上使用R和RStudio
租用机器 在矩池云租用机器的时候,系统环境里搜索:R,选择 R4.2 镜像,如果需要使用RStudio,还需要在高级选项中新增一个自定义端口:8787,然后点击租用即可. 使用 JupyterLab ...
- 第137篇:重学ES6模块化
好家伙, 我原本以为学完模块化之后,就能非常顺利的完成我的项目分包, 然而并没有,这是非常重要的知识,而我没有学好 所以我决定重学一遍 本篇为<阮一峰 ECMAScript 6 (ES6 ...