# RuoYi-Vue-Kingbase **Repository Path**: ccbclz/ruo-yi-vue-kingbase ## Basic Information - **Project Name**: RuoYi-Vue-Kingbase - **Description**: 若依人大金仓版 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 1 - **Created**: 2025-05-13 - **Last Updated**: 2025-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

RuoYi v3.8.9

基于SpringBoot+Vue前后端分离的Java快速开发框架

### 改造为人大金仓数据库 windows安装人大金仓文档:[windows安装人大金仓数据库保姆级_windows安装kdts-CSDN博客](https://blog.csdn.net/cgk_ALEM/article/details/144104337) 人大金仓数据迁移文档: https://blog.csdn.net/u013294657/article/details/128132670 #### 1.我使用的数据库版本 ![img](./pic/QQ_1747117310911.png) kingbase 数据库工具包下载地址 ![img](./pic/QQ_1747119070982.png) #### 2.模块添加删除依赖 ##### 2.1 ruoyi-admin模块-pom文件 : ###### 添加MybatisPlus、kingbase依赖(下载方式查看上面的图) ``` com.baomidou mybatis-plus-boot-starter 3.5.1 com.kingbase8 kingbase8 kingbase8-9.0.0 system ${project.basedir}/lib/kingbase8-9.0.0.jar ``` ###### 删除Mysql驱动包 ``` ``` ##### 2.2 ruoyi-common模块-pom文件添加依赖 ``` com.baomidou mybatis-plus-boot-starter 3.5.1 ``` #### 3.删除ruoyi-framework模块MyBatisConfig文件 #### 4.使用人大金仓迁移数据工具迁移数据 ##### 4.1 特别注意: 先将mysql中的sys_config表名改为sys_con、sys_role表名改为sys_role_info、sys_user表名改为sys_user_info ##### 4.2 数据迁移完成后 修改项目中所有涉及sys_config、sys_role、 sys_user的xml文件 【使用idea中的全局搜索】 ![img](./pic/QQ_1747118773731.png) 将sql中的 sys_config 改为 sys_con 将sql中的 sys_role 改为 sys_role_info 将sql中的 sys_user 改为 sys_user_info #### 5.修改xml文件中的sysdate()函数改为CURRENT_TIMESTAMP或者CURRENT_TIMESTAMP() 【检查所有xml文件】 ![img](./pic/QQ_1747118996581.png) #### 6.修改数据库连接 ```yml # 数据源配置 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource druid: # 主库数据源 driverClassName: com.kingbase8.Driver master: url: jdbc:kingbase8://127.0.0.1:54321/ruoyidb?currentSchema=kingbase-ruoyi&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true username: xyc password: 123456 # 从库数据源 slave: # 从数据源开关/默认关闭 enabled: false url: username: password: # 初始连接数 initialSize: 5 # 最小连接池数量 minIdle: 10 # 最大连接池数量 maxActive: 20 # 配置获取连接等待超时的时间 maxWait: 60000 # 配置连接超时时间 connectTimeout: 30000 # 配置网络超时时间 socketTimeout: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一个连接在池中最小生存的时间,单位是毫秒 minEvictableIdleTimeMillis: 300000 # 配置一个连接在池中最大生存的时间,单位是毫秒 maxEvictableIdleTimeMillis: 900000 # 配置检测连接是否有效 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false webStatFilter: enabled: true statViewServlet: enabled: true # 设置白名单,不填则允许所有访问 allow: url-pattern: /druid/* # 控制台管理用户名和密码 login-username: ruoyi login-password: 123456 filter: stat: enabled: true # 慢SQL记录 log-slow-sql: true slow-sql-millis: 1000 merge-sql: true wall: config: multi-statement-allow: true ``` #### 7.将kingbase依赖包使用maven命令打包到自己本地的maven仓库,解决项目本地开发没问题,打包发布运行时没有kingbase依赖 ``` mvn install:install-file -Dfile=kingbase8-9.0.0.jar -DgroupId=com.kingbase8 -DartifactId=kingbase8 -Dversion=9.0.0 -Dpackaging=jar ``` ![img](./pic/QQ_1749451924642.png) 使用cmd打开窗口,再使用 java -jar ruoyi-admin.jar 命令启动jar包,启动成功。 ![img](./pic//QQ_1749452866472.png) 本地前端访问接口也正常。 ![image-20250609150915278](./pic//image-20250609150915278.png) #### 8.使用腾讯元宝改造代码生成模块适配kingbase,替换下面文件中的sql语句 ##### 8.1GenTableColumnMapper文件 ``` ``` ##### 8.2GenTableMapper文件 ``` ``` ``` ``` ``` ``` ``` ``` ##### 8.3 替换sql.vm文件所有内容 ``` WITH parent_menu AS ( INSERT INTO sys_menu ( menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark ) VALUES ( '${functionName}', ${parentMenuId}, '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', CURRENT_TIMESTAMP, NULL, NULL, '${functionName}菜单' ) RETURNING menu_id ) INSERT INTO sys_menu ( menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark ) SELECT col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, '#', 'admin', CURRENT_TIMESTAMP, NULL, NULL, '' FROM ( VALUES ('${functionName}查询', (SELECT menu_id FROM parent_menu), '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query'), ('${functionName}新增', (SELECT menu_id FROM parent_menu), '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add'), ('${functionName}修改', (SELECT menu_id FROM parent_menu), '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit'), ('${functionName}删除', (SELECT menu_id FROM parent_menu), '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove'), ('${functionName}导出', (SELECT menu_id FROM parent_menu), '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export') ) AS menu_data( col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11 ); ``` #### 9.如果发现问题gitee上我回复消息不及时,可以发送到2935230180@qq.com邮箱