springboot中使用人大金仓

准备

首先要安装有人大金仓数据库

然后去人大金仓官网的下载中心的接口驱动里面,下载对应的驱动和框架方言

驱动下载成功后如图 和数据库版本一致 一般使用驱动就行


框架方言下载成功后如图 版本需要自己确认 根据需要使用


pom中依赖下载的jar

方式一

把下载好的jar包放到本地仓库中

mvn install:install-file -Dfile=刚下载的jar包的位置 -DgroupId=依赖里写的groupId -DartifactId=依赖里写的artifactId -Dversion=上面的version -Dpackaging=jar
示例

mvn install:install-file -Dfile=D:\\apache-maven-3.6.3\\repository\\com\\kingbas8\kingbase8-8.6.0.jar -DgroupId=com.kingbase -DartifactId=kingbase8 -Dversion=8.6.0 -Dpackaging=jar
然后在pom中使用

<dependency>
<groupId>com.kingbase</groupId>
<artifactId>kingbase8</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate.dialect</groupId>

<artifactId>Kingbase8Dialect</artifactId>
</dependency>
方式二

把下载好的jar包导入项目的lib文件夹中


然后在pom中使用

<dependency>
<groupId>com.kingbase</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/kingbase8-8.6.0.jar</systemPath>
</dependency>
<dependency>
<groupId>org.hibernate.dialect</groupId>
<artifactId>Kingbase8Dialect</artifactId>
<version>4</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/hibernate-4.dialect.jar</systemPath>
</dependency>
version随意,scope要写system,systemPath是上面jar包的路径

然后就是打包的时候需要把lib中的第三方jar包 打入进包里

<build>
<finalName>${project.name}</finalName>
<resources>
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
如果使用了框架方言配置 需要对org.hibernate.dialect.Kingbase8Dialect的getQuerySequencesString进行重写

package com.*.*.*;

import org.hibernate.dialect.Kingbase8Dialect;

/**
* @program: iot
* @description:
* @author: tjw
* @create: 2023-02-14 16:49
**/
public class KingbaseDialect extends Kingbase8Dialect {

public String getQuerySequencesString() {return null;}
}
application.yml中配置

#驱动配置
spring:
datasource:
url: jdbc:kingbase8://192.168.0.1:54321/iot?currentSchema=iot&characterEncoding=UTF-8

username: root
password: 123123
driver-class-name: com.kingbase8.Driver
#框架方言配置
spring:
jpa:
properties:
hibernate:
dialect: com.*.*.*.KingbaseDialect #使用自己重写的KingbaseDialect
hbm2ddl:
auto: update
format_sql: true
show-sql: true
generate-ddl: true
hibernate:
ddl-auto: update
————————————————

工作上要将kingbaseV8数据库整合到项目,我在官网找了半天,连个jdbc驱动包下载入口都找不到,简直就是官方文档毫无诚意。emm…套着postgreSQL的国产数据库,我差点用postgreSQL的jdbc来代替驱动包。因此我直接在安装数据库的服务器执行find -name *.jar

将jdbc驱动包下载来,不用什么积分下载,我已经分享到阿里云盘:
https://www.aliyundrive.com/s/Yf5UGQ6Tmdj

需要的同学自行下载 (ES V8版本)

driver-class-name: com.kingbase8.Driver
url: jdbc:kingbase8://10.8.4.66:54321/template1?characterEncoding=utf8
username: system
password: 123456

# hibernate的方言改为
dialect: org.hibernate.dialect.PostgreSQL82Dialect
1
2
3
4
5
6
7
<dependency>
<groupId>com.kingbase8.jdbc</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/resources/jar/kingbase8-8.6.0.jar</systemPath>
</dependency>
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_44480167/article/details/120987851

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/baidu_41639534/article/details/129152912

posted @ 2024-07-10 18:02  枫树湾河桥  阅读(622)  评论(0编辑  收藏  举报
Live2D