近些天因为需要快速搭建一个项目,所以选择了若依这个框架,但是,需要用到国产数据库“人大金仓”,并且为了更为快捷的开发,需要用到mybatis plus框架,所以选择了以若依框前后端分离的框架为基础,将其内部mybatis框架替换为mybatis plus框架,数据库改为了人大金仓。网上没有一整套详细的说明,所以个人也摸索了两三天才进行整合完毕。
目录
1、数据库:
Mysql
人大金仓版本:KingbaseES_V008R006C007B0012_Win64_install
Redis
2、若依框架
若依前后端分离版本,下载地址:
https://gitee.com/y_project/RuoYi-Vue
下载完毕后将项目解压至自己的想要存放的位置
解压后的目录结构如下:
其中ruoyi-ui是前端源码,我们将其移至与上层目录同级,当然,也可以不移动,根据个人习惯。
2.1 、若依框架目录结构说明:
├── ruoyi-admin // 后台服务
├── ruoyi-common // 工具类
│ └── annotation // 自定义注解
│ └── config // 全局配置
│ └── constant // 通用常量
│ └── core // 核心控制
│ └── enums // 通用枚举
│ └── exception // 通用异常
│ └── filter // 过滤器处理
│ └── utils // 通用类处理
├──ruoyi-framework // 框架核心
│ └── aspectj // 注解实现
│ └── config // 系统配置
│ └── datasource // 数据权限
│ └── interceptor // 拦截器
│ └── manager // 异步处理
│ └── security // 权限控制
│ └── web // 前端控制
├── ruoyi-generator // 代码生成(可移除)
├── ruoyi-quartz // 定时任务(可移除)
├── ruoyi-system // 系统代码
移出的rouyi-ui文件夹目录结构
├── build // 构建相关
├── bin // 执行脚本
├── public // 公共文件
│ ├── favicon.ico // favicon图标
│ └── index.html // html模板
│ └── robots.txt // 反爬虫
├── src // 源代码
│ ├── api // 所有请求
│ ├── assets // 主题 字体等静态资源
│ ├── components // 全局公用组件
│ ├── directive // 全局指令
│ ├── layout // 布局
│ ├── router // 路由
│ ├── store // 全局 store管理
│ ├── utils // 全局公用方法
│ ├── views // view
│ ├── App.vue // 入口页面
│ ├── main.js // 入口 加载组件 初始化等
│ ├── permission.js // 权限管理
│ └── settings.js // 系统配置
├── .editorconfig // 编码格式
├── .env.development // 开发环境配置
├── .env.production // 生产环境配置
├── .env.staging // 测试环境配置
├── .eslintignore // 忽略语法检查
├── .eslintrc.js // eslint 配置项
├── .gitignore // git 忽略项
├── babel.config.js // babel.config.js
├── package.json // package.json
└── vue.config.js // vue.config.js
2.3、若依数据库
sql文件夹下是若依框架的数据库,我们先在mysql的可视化工具navicat下创建一个数据库
点击确定,然后在这个数据库下运行sql文件夹下的两个sql文件,运行完后数据库中会有如下表:
3、人大金仓
接下来我们下载人大金仓数据库,地址:
https://www.kingbase.com.cn/rjcxxz/index.htm
3.1、数据库下载
我们先进行第一步下载人大金仓的数据库(这个是Windows版本的,如果操作系统不一样需要选择对应的版本,下一步的接口驱动也需要选择相对应的)
3.2、接口驱动
第二步下载数据库的接口驱动
下载完成后解压
3.3、数据库安装
人大金仓的安装过程借鉴其他博主的
https://blog.csdn.net/qq_45763375/article/details/119713062
3.4、接口驱动添加至maven仓库
接口驱动我们解压后有如下资源:我们需要用到的是Kingbase8-8.6.0.jar
我们将这个jar包添加至我们的maven仓库中,等下项目连接人大金仓数据库的时候需要用到
首先检查自己的maven环境是否配置好:
打开cmd,执行 mvn -h
如果执行不了的话,因该是没有配置好,我们进入环境变量进行配置:
在用户变量的path中添加自己的maven下的bin文件夹的路径
再次运行命令检查
成功后我们执行以下语句,将驱动的jar包添加至我们的本地仓库(注意修改)
mvn install:install-file -DgroupId=com.kingbase8 -DartifactId=kingbase8 -Dversion=8.6.0 -Dfile=(自己jar包的路径)\Kingbase8-8.6.0.jar -Dpackaging=jar -DgeneratePom=true
该语句中参数:
DgroupId :组id 【对应pom中的groupId】
DartifactId:项目id 【对应pom中的artifactId】
Dversion:版本号 【对应pom中的version】
Dfile:jar包的绝对路径
Dpackaging:是什么包
DgeneratePom:是否生成pom
这样子人大金仓的驱动包就被添加到我们自己的本地仓库中了
4、Redis
redis下载,参考教程
https://blog.csdn.net/weixin_44212896/article/details/127191648
5、数据库迁移
接下来我们进行数据库的迁移
迁移前,我们将mysql中的ry数据库中的这两张表名修改一下,因为这两张表的命名会与人大金仓自带的表产生一点冲突
我们将其改成sys_con与sys_users
迁移过程参考教程
https://blog.csdn.net/u013294657/article/details/128132670
6、框架改造
至此,前期工作准备完毕
我们对项目若依框架进行改造
idea打开若依项目
6.1、整合mybatis-plus
我们先整合mybatisplus框架:
在ruoyi-admin模块的pom文件里,我们添加mybatis plus的依赖
<!-- mybatis plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
同样,在ruoyi-common模块的pom文件里也添加上面的依赖
将原本系统中的mybtis配置给移除
在ruoyi-admin模块下找到application.yml文件,修改配置
将mybatis替换成mybatis-plus
# MyBatis-plus配置
mybatis-plus:
# 对应的 XML 文件位置
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.ruoyi.**.domain
# PageHelper分页插件
pagehelper:
helperDialect: postgresql
supportMethodsArguments: true
params: count=countSql
在ruoyi-framework模块中移除MybatisConfig配置类
至此mybatis-plus整合完毕
6.2、连接人大金仓
首先在ruoyi-admin模块中引入人大金仓的驱动包,并注掉Mysql的驱动包
其次在ruoyi-admin模块的application-druid.yml配置文件中进行修改
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driverClassName: com.kingbase8.Driver
# 主库数据源
master:
url: jdbc:kingbase8://127.0.0.1:54321/test
username: 用户
password: 密码
# # 从库数据源
# slave:
# # 从数据源开关/默认关闭
# enabled: false
# url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: 用户
# password: 密码
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
至此,数据库连接完毕
7、修改sql语句
最后,因为之前修改了数据库的表名,所以此时项目运行的话是会报错的,即表找不到,还有就是“ ` ”这个符号如果在人大金仓的sql语句中是会报错的,我们只需要删除即可,所以我们需要进行如下修改
因为我是将sys_sonfig与sys_user表名分别修改成了sys_con和sys_users,所以在整个项目中查找修改的两个表
我们只需要修改.xml文件中的即可,注意,修改之前看清楚表名,以免误改。
对于“ ` ”符号进行删除
至此,全部整合完毕,开启redis服务,启动项目运行看看结果吧