Jeecg Boot连接人大金仓数据库

Jeecg Boot连接人大金仓数据库,第1张

Jeecg Boot连接人大金仓数据库 JeecgBoot连接人大金仓数据库 一、人大金仓数据库官网下载地址

https://www.kingbase.com.cn/download/c_id/455.html

目前人大金仓官网只提供KingbaseES V8 R6的版本下载,如需下载KingbaseES V8 R3的版本请点击下面的链接:
https://www.kingbase.com.cn/index/download/c_id/401.html

安装时一定要设置数据库大小写不敏感,否则有些数据表会识别不到。

二、数据库驱动

人大金仓8.3使用的驱动jar包是kingbase8-8.2.0.jar,8.6的版本使用的驱动jar包是kingbase8-8.6.0.jar,maven仓库里并没有这两个jar包,需要手动下载并导入到本地maven仓库。

驱动Jar包下载地址:

链接:https://pan.baidu.com/s/1P09k-PABrlZZtFYCXm6jWg
提取码:vars

将jar包到入到本地maven库:

mvn install:install-file -DgroupId=kingbase -DartifactId=kingbase8 -Dversion=8.2.0 -Dfile=D:libkingbase8-8.2.0.jar -Dpackaging=jar -DgeneratePom=true

修改项目里的jeecg-boot-basejeecg-boot-base-corepom.xml文件,引入人大金仓数据库驱动:


    kingbase
    kingbase8
    8.2.0

application-prod.yml文件
将dataSource删除掉并新增下面语句

#  autoconfigure:
#    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driverClassName: com.kingbase8.Driver
      url: jdbc:kingbase8://192.168.1.5:54321/dbname?currentSchema=schemaName&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
      username: xxx
      password: xxx

注意:currentSchema也可以不指定,默认使用的是public模式。

三、常见问题 Jeecg Boot系统和KingbaseES数据库系统表名重复的问题

例如Jeecg Boot和KingbaseES中的用户表"sys_user"重名,不采取措施的情况下是会优先查找到KingbaseES中的"sys_user"用户表的,此时可以通过指定模式名的方式查找到Jeecg Boot中的"sys_user"用户表。

解决方法1:

在数据库url路径中传入currentSchema参数:

      url: jdbc:kingbase8://192.168.1.5:54321/dbname?currentSchema=schemaName&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8

解决方法2:

修改人大金仓数据库配置文件kingbase.conf,设置search_path模式搜索路径 ,请参考这篇文章:

https://bbs.kingbase.com.cn/wenda/question/238.html

注意:以上方法在人大金仓V8 R6的版本测试可行,但是在V8 R3的版本却无效,暂时不清楚是不是系统的缺陷,本人也只能通过修改Jeecg Boot的数据库表名来适配V8 R3的数据库版本。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5075048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存