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.
一、人大金仓数据库官网下载地址
https://www.kingbase.com.cn/rjcxxz/index.htm
安装时一定要设置数据库大小写不敏感,否则有些数据表会识别不到。
二、导入数据库驱动jar包到本地Maven库
人大金仓8.6的版本使用的驱动jar包是kingbase8.6.0.jar,maven仓库里并没有这两个jar包,需要手动下载并导入到本地maven仓库。
驱动Jar包下载地址:
链接:https://pan.baidu.com/s/1P09k-PABrlZZtFYCXm6jWg
提取码:vars
将jar包到入到本地maven库:
mvn install:install-file -DgroupId=com.kingbase8 -DartifactId=kingbase8 -Dversion=8.6.0 -Dfile=C:\Users\Orion\Desktop\1S\kingbase8.6.0.jar -Dpackaging=jar
如果使用命令行导入jar包失败,可以尝试使用IDEA将jar导入到本地maven仓库,具体步骤如下:
- 用IDEA打开一个Jeecg Boot项目,先点击右侧【Maven】按钮,然后在弹出的Maven面板点击【Execute Maven Goal】选项。
-
在弹出的窗口中输入刚才的命令,点击回车。
mvn install:install-file -DgroupId=com.kingbase8 -DartifactId=kingbase8 -Dversion=8.6.0 -Dfile=C:\Users\Orion\Desktop\1S\kingbase8.6.0.jar -Dpackaging=jar
-
jar包导入成功控制台会输出以下内容:
三、在项目中引入驱动jar包
修改项目里的jeecg-boot-base\jeecg-boot-base-core\pom.xml文件,引入人大金仓数据库驱动:
<!-- 人大金仓数据库驱动 -->
<dependency>
<groupId>com.kingbase8</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
</dependency>
修改application-devyml配置文件
将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.43.135:54321/txb?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
username: system
password: 123456
如下图所示:
四、常见问题
- Jeecg Boot和KingbaseES数据库系统表名相同查询不到的问题
例如Jeecg Boot和KingbaseES中的用户表"sys_user"重名,不采取措施的情况下是会优先查找到KingbaseES中的"sys_user"用户表的。
解决方法1:
用system用户登录数据库,执行以下sql语句:
-- 设置system用户模式访问顺序
alter system set search_path = temp,PUBLIC,"$USER",SYS_CATALOG;
-- 设置mydb数据库模式访问顺序
alter database txb set search_path to temp,PUBLIC,"$USER",SYS_CATALOG;
-- 使配置生效
select sys_reload_conf();
解决方法2:
修改人大金仓数据库配置文件kingbase.conf,设置search_path模式搜索路径 :
1.编辑配置文件
vim /opt/Kingbase/ES/V8/kingbase.conf
2.在末尾添加搜索路径,schema_name为用户想优先访问的"模式名"
search_path = '"$user",schema_name,sys_catalog'
3.重启数据库生效
/opt/Kingbase/ES/V8/Server/bin$ ./sys_ctl -D /opt/Kingbase/ES/V8/data restart
注意:最好不要用system用户连接数据库,不然还是有可能会出现优先查询Kingbase的sys_user表。
参考资料:
https://blog.csdn.net/xiaoxiangzi520/article/details/117961513
https://bbs.kingbase.com.cn/wenda/question/238.html
更多推荐
所有评论(0)