官网下载压缩包
选择前后端分离版本
解压Idea打开
后端配置
配置数据库&&运行sql脚本
修改数据库名,密码,新建数据库名为ry-vue
启动redis中间件
redis-server
至此后端配置完毕
启动ruoyi启动类
出现小脚说明启动成功
前端配置
进入ruoyi-ui文件夹安装依赖包
镜像源
npm install --registry=https://registry.npmmirror.com
安装依赖
npm i
WARN不影响,不用理会
启动vue项目
npm run dev
如果报错
-
使用<=17版本的node
-
设置环境变量(推荐)
set NODE_OPTIONS=--openssl-legacy-provider
至此前后端加载完毕
新增业务
1-新增/删除菜单
2-ry-vue数据库新建表
CREATE TABLE IF NOT EXISTS books( book_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '图书ID', book_name VARCHAR(255) NOT NULL COMMENT '书名', author VARCHAR(255) NOT NULL COMMENT '作者', publish_date DATE COMMENT '出版日期', isbn VARCHAR(13) COMMENT '国际标准书号', available BOOLEAN DEFAULT TRUE COMMENT '图书是否可借' )ENGINE=InnoDB CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS users( user_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '用户ID', user_name VARCHAR(255) NOT NULL UNIQUE COMMENT '用户名', password VARCHAR(255) NOT NULL COMMENT '密码', email VARCHAR(255) COMMENT '邮箱' )ENGINE=InnoDB CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS loan_records( record_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '借书记录ID', user_id INT NOT NULL COMMENT '借书人ID', book_id INT NOT NULL COMMENT '被借书ID', loan_date DATE NOT NULL COMMENT '借书日期', due_date DATE NOT NULL COMMENT '应还日期', returned BOOLEAN DEFAULT FALSE COMMENT '归还状态', FOREIGN KEY (book_id) REFERENCES books(book_id), FOREIGN KEY (user_id) REFERENCES users(user_id) )ENGINE=InnoDB CHARSET=utf8mb4;
这里借书表的 user_id和book_id类型别写成varchar了
3-生成代码
系统工具-代码生成-导入
(这里还需勾选一张loan借书表,截图少了,不过影响不大,只是一个多表演示而已,只导入者两张后续也能进行 单表的增删改查,毕竟这只是个快速入门)
图书管理
字段信息,可以指定字段的操作权限,查询方式
若依使用vue2开发,最好使用Vue2 ElementUI版的
用户管理
密码不参与查询,列表
如果改错了,后续要修改前端Api,view,后端的controlle层(或者该业务删了重新生成)
包路径同book同层,模块名可以理解为 子系统,由于图书需要和借书记录主子表关联,用户只是单纯的查询,使用单表增删改查
4-生成zip代码压缩包
勾几个生成几个子菜单和对应的页面
5-运行菜单sql脚本
大致内容如下
往系统菜单表里增加了图书菜单信息,有具体信息, 和按钮的信息
@parentId
这样做的目的是为了在后续插入按钮菜单记录时,能够将它们设置为当前菜单的子菜单。 具体流程如下: 首先插入了一个名为"图书信息"的菜单记录。 然后使用 SELECT @parentId := LAST_INSERT_ID(); 语句获取该菜单记录的 ID,并将其存储在 @parentId 变量中。 接下来插入了5个按钮菜单记录,它们的 parent_id 列都被设置为 @parentId,这样就将它们设置为"图书信息"菜单的子菜单了。 这种做法可以方便地将按钮菜单与主菜单关联起来,形成一个完整的菜单体系。
记录图书信息的id,也就是最新插入ID, LAST_INSERT_INTO
作为按钮的父ID,如果以后有其他业务菜单,那其他按钮的父ID就是其他业务的ID, 例如用户管理,记录下其ID,后续的按钮都归属于用户管理界面(parentId)
6-将生成的前后端代码放入项目中
后端
前端