准备
首先要安装有人大金仓数据库
然后去人大金仓官网的下载中心的接口驱动里面,下载对应的驱动和框架方言
驱动下载成功后如图 和数据库版本一致 一般使用驱动就行
框架方言下载成功后如图 版本需要自己确认 根据需要使用
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