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 ...
随机推荐
- SpringCloud服务注册与发现Eureka实战
介绍 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务 ...
- 解决maven打包compliation failure程序包不存在
1.问题说明 spring boot项目,在cmd中使用mvn clean package打包报错如下: 说这个程序包不存在,而实际上在eclipse中查看是能找到的. 2.问题原因 后来看了一下这个 ...
- win32-封装BeginPaint
Graphics* StartPaint(HWND win, HDC* hdc, PAINTSTRUCT* ps) { *hdc = BeginPaint(win, ps); return new G ...
- Flask AttributeError 'Request' object has no attribute 'is_xhr'解决办法
flask版本0.12.5 运行时会报以上错误,原因是因为werkzeug的版本大于等于1.x版本. 解决办法,降低werkzeug的版本即可 pip uninstall Werkzeug pip i ...
- 【Azure Compute Gallery】使用 Python 代码从 Azure Compute Gallery 复制 Image-Version
问题描述 Azure Compute Gallery 可以帮助围绕 Azure 资源(例如映像和应用程序)生成结构和组织,并且支持全局复制. 如果想通过Python代码实现 Image-Version ...
- Git常见的面试题
在软件开发领域,Git是一个极为重要的版本控制系统,几乎每个开发者都需要掌握它.因此,在面试过程中,Git常常成为了面试官们用来考察候选人技能和经验的重要工具之一.以下是一些常见的Git面试题,希望它 ...
- 基于 Mindspore 框架与 ModelArts 平台的 MNIST 手写体识别实验
简介 实验包含 2部分: 基于 Mindspore 框架的模型本地训练及预测 基于 Modelarts 平台和 PyTorch框架的模型训练及部署 基于 Mindspore 框架的模型本地训练及预测 ...
- Spring Cloud 系列之Hystrix、Ribbon、Feign 源码剖析(一)引子
系列目录 Spring Cloud 系列之Hystrix.Ribbon.Feign 源码剖析(一)引子 Spring Cloud 系列之Hystrix.Ribbon.Feign 源码剖析(二)原理概括 ...
- vscode git冲突 1. git stash 2. 更新代码 3. git stash pop 4.提交代码
vscode git冲突 1. git stash 2. 更新代码 3. git stash pop 4.提交代码
- arch安装xfce4的时候,出现无法设置开机启动的问题
sudo systemctl enable lightdm Failed to enable unit: File /etc/systemd/system/display-manager.serv ...