首页 > 数据库 >KingbaseES数据库配置Hikari数据源

KingbaseES数据库配置Hikari数据源

时间:2023-06-08 12:23:00浏览次数:46  
标签:jdk1.8 kingbase8 JAVA lib 数据源 jar 333 Hikari KingbaseES

 

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

标签:jdk1.8,kingbase8,JAVA,lib,数据源,jar,333,Hikari,KingbaseES
From: https://www.cnblogs.com/nwwhile/p/17465842.html

相关文章

  • 记一次用SpringBoot默认连接池HikariCP拿不到连接问题
    记一次用SpringBoot默认连接池HikariCP拿不到连接问题1、问题发现最近项目总接到反馈有用户登录不上系统情况,通过查看日志,并验证多次访问都是正常。2、排查问题安装pinpoint监控后,通过pinpoint监控发现确实会存在获取连接超时情况,如下图查看最近访问情况,发现存在大量超时情况,如下......
  • KingbaseES大数据量分区表添加主键与索引
    KingbaseES大数据量分区表添加主键与索引一、环境信息:系统信息:$cat/etc/centos-releaseCentOSLinuxrelease8.2.2004(Core)$lscpuArchitecture:x86_64CPUop-mode(s):32-bit,64-bitByteOrder:LittleEndianCPU(s):1On-......
  • KingbaseES V8R6集群运维系列 -- 修改ssh通信为 sys_securecmdd 通信
    一、适用于:本文档使用于KingbaseESV008R006版本。二、关于SYS_SECURECMDD:sys_securecmdd是KingbaseES集群自带的工具,集群监控、管理集群时通过sys_securecmdd安全执行命令而不使用ssh服务。sys_securecmdd主要包含以下文件:服务端sys_securecmdd默认监听8890端口,接受客......
  • KingbaseES sys_bulkload数据加载工具错误处理
    一、关于sys_bulkload数据加载工具sys_bulkload是KingbaseES提供的快速加载数据的命令行工具。用户使用sys_bulkload工具能够把一定格式的文本数据简单、快速的加载到KingbaseES数据库中,或将KingbaseES数据库中的数据快速导出到CSV文件中。使用前需要用户手动创建sys_bulkload插......
  • KingbaseES V8R6 表空间加密
    透明存储加密优势透明存储加密可确保加密敏感数据满足合规性要求,并提供简化加密操作的功能,优势如下:作为安全管理员,您可以确保敏感数据已加密,因此在存储介质或数据文件被盗或入侵者试图从操作系统访问数据文件时,绕过访问控制数据库。使用透明存储加密可帮助您解决与安全相关......
  • KingbaseESV8R6 heap table末端垃圾页回收机制
    前言默认情况下,vacuum表不能释放磁盘空间,只是在deadtuple做个标记位,但heaptable末端的垃圾页可以被truncate,从磁盘中释放空间。例如表的末尾的100个数据块里面全是垃圾,那么这100个数据块可以truncate阶段,文件也会变小。而位于其他位置的垃圾页,不能回收,因为会影响寻址(ctid)的变化......
  • KingbaseES V8R6 几种不同的表复制方式
    前言当数据库遇到未知问题,有时候无法入手分析,在非生产数据库或者征得客户同意获得特殊时间,需要重建表解决,下面提供了多种不同的复制表的方法,我们了解一下他们的差异。测试1、CREATETABLEASSELECT语句用于复制表结构和数据,但是不会复制索引。我们可以使用以下语句基于t1......
  • KingbaseES V8R6集群运维案例--主库PITR恢复后备库无法连接到集群
    案例说明:KingbaseESV8R6集群,在主库执行PITR恢复后,clone备库;但是启动集群后,备库无法连接到主库,流复制状态和集群节点状态异常。适用版本:KingbaseESV8R6一、问题现象如下图所示,集群备库节点状态和流复制异常:二、问题分析1、检查备库数据库服务状态如下图所示,sys_log日......
  • 二、tienchin健身系统下的技术点复现--动态数据源
    二、配置动态数据源前面我们已经准备了基础的类,@DynamicDatasource、DruidProperties、DynamicAspect现在我们开始对AbstractRoutingDatasource所需要的数据源,放到对应的map结构中。1、加载数据源/***功能描述加载自定义的数据源,存入到Map<String,Datasource>结构中......
  • 三、tienchin健身系统下的技术点复现--动态数据源
    三、网页手动实现动态数据源切换手动切换数据源,采用HttpSession保存数据源名称,在全局的切面定义service下所有方法,都会切换数据源。1、定义一个html页面<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>切换数据源</title><scriptsrc=&quo......