若依框架使用教程

1、若依介绍

1.1什么是低代码开发平台?

低代码诞生的目的是将可<font style="color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">重复性的编程</font>工作通过<font style="color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">平台实现</font>,将开发人员从没有技术含量的<font style="color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">增删改查</font>开发中解放出来,让其专注于更有价值的开发工作

例如:数据库设计、流程设计、API核心开发、业务逻辑开发等工作。

所以,低代码开发平台可以提高开发效率

常见产品有:

  • 明道云Noohle(怒吼)简道云
  • 若依/RuoYijeecg-boot人人开源 / renren-fast

1.2 若依是什么?

RuoYi-Vue 是一个轻量级快速开发平台,毫无保留给个人及企业免费使用。

基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue、Element)

内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。

若依官网:http://ruoyi.vip(opens new window)

演示地址:http://vue.ruoyi.vip(opens new window)

代码下载:https://gitee.com/y_project/RuoYi-Vue

总结:

1)若依提供了企业级后台管理系统基础通用的功能,免去开发者去搭建和配置繁琐项目环境

2)提供了代码生成技术:通过数据库表就可以自动生成(java后端代码,前端vue页面)

1.3 在哪里用

1)针对于企业项目,很多公司都在基于若依平台进行二次开发,市场占有率高

2)计算机相关专业学生福利,基于若依平台快速搭建的各种管理系统,高效完成毕设

1.4 今日目标

使用若依框架开发一套外卖管理系统

2.平台搭建

2.1系统环境要求

  • JDK >= 1.8
  • MySQL >= 5.7
  • Maven >= 3.0
  • Node >= 12
  • Redis >= 3

2.2 后端运行

2.2.1下载git源码

通过idea下载git源码,gitee地址:https://gitee.com/y_project/RuoYi-Vue.git

2.2.2 初始化工程

idea会自动加载<font style="color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">Maven</font>依赖包,初次加载会比较慢(根据自身网络情况而定)

2.2.3MySQL配置

导入sql

1.创建数据库

create database ry_vue;

2.执行下图sql

3.导入数据库表

配置文件

<font style="color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">ruoyi-admin</font>模块下,修改数据库连接,编辑<font style="color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">resources</font>目录下的<font style="color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">application-druid.yml</font>

# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        druid:
            # 主库数据源
            master:
                url: 数据库地址
                username: 数据库账号
                password: 数据库密码

2.2.4 Redis配置

启动redis

2.2.5 启动项目

访问http://localhost:8080

2.3前端运行

idea打开前端工程

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

# 启动服务
npm run dev

访问http://localhost:80

3.源码分析

3.1 前端代码

前端技术栈 ES6、vue、vuex、vue-router、vue-cli、axios、element-ui

源码结构

├── build                      // 构建相关  
├── bin                        // 执行脚本
├── public                     // 公共文件
│   ├── favicon.ico            // favicon图标
│   └── index.html             // html模板
│   └── robots.txt             // 反爬虫
├── src                        // 源代码
│   ├── api                    // 所有请求
│   ├── assets                 // 主题 字体等静态资源
│   ├── components             // 全局公用组件
│   ├── directive              // 全局指令
│   ├── layout                 // 布局
│   ├── plugins                // 通用方法
│   ├── 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

前端跨域

3.2后端代码

om.ruoyi     
├── common            // 工具类
│       └── annotation                    // 自定义注解
│       └── config                        // 全局配置
│       └── constant                      // 通用常量
│       └── core                          // 核心控制
│       └── enums                         // 通用枚举
│       └── exception                     // 通用异常
│       └── filter                        // 过滤器处理
│       └── utils                         // 通用类处理
├── framework         // 框架核心
│       └── aspectj                       // 注解实现
│       └── config                        // 系统配置
│       └── datasource                    // 数据权限
│       └── interceptor                   // 拦截器
│       └── manager                       // 异步处理
│       └── security                      // 权限控制
│       └── web                           // 前端控制
├── ruoyi-generator   // 代码生成(可移除)
├── ruoyi-quartz      // 定时任务(可移除)
├── ruoyi-system      // 系统代码
├── ruoyi-admin       // 后台服务
├── ruoyi-xxxxxx      // 其他模块

登录案例讲解

4.二次开发

4.1菜单导航

具体内容如下:

4.2代码生成

步骤说明

1、准备二次开发的业务表结构和数据

2、登录系统(系统工具 -> 代码生成 -> 导入对应表)

3、代码生成列表中找到需要表(可预览、编辑、同步、删除生成配置)

4、点击生成代码会得到一个<font style="color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">ruoyi.zip</font>执行<font style="color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">sql</font>文件,按照包内目录结构复制到自己的项目中即可

代码生成支持编辑、预览、同步

  • 预览:对生成的代码提前预览,防止出现一些不符合预期的情况。
  • 同步:对原表的字段进行同步,包括新增、删除、修改的字段处理。
  • 修改:对生成的代码基本信息、字段信息、生成信息做一系列的调整。
  • 另外多模块所有代码生成的相关业务逻辑代码在<font style="color:rgb(119, 119, 119);background-color:rgb(248, 248, 248);">ruoyi-generator</font>模块,不需要可以自行删除模块。

4.2.1 业务表导入数据库

外卖核心业务.sql

4.2.2导入对应表

登录系统(系统工具 -> 代码生成 -> 导入对应表

4.2.3编辑业务表

代码生成列表中找到需要表(可预览、编辑、同步、删除生成配置)

category

dish

4.2.4 字典数据

4.3代码导入

SQL导入

前端代码导入

后端代码导入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/885183.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.Net 6.0 监听Windows网络状态切换

上次发了一个文章获取windows网络状态&#xff0c;判断是否可以访问互联网。传送门&#xff1a;获取本机网络状态 这次我们监听网络状态切换&#xff0c;具体代码如下&#xff1a; public class WindowsNetworkHelper {private static Action<bool>? _NetworkStatusCh…

js列表数据时间排序和取唯一值

1.取唯一值[...new Set(array)] const array [1, 2, 3, 2, 4, 5, 3, 5]; // 使用Set去除重复元素 const uniarray [...new Set(array)]; console.log(uniarray); // 输出: [1, 2, 3, 4, 5] 2.排序 var u [1,3,2,5,4]; var uu u.sort(); console.log(uu); var u [1,3…

求组合数专题

求组合数 Ⅰ&#xff08;递推公式&#xff09; 思路 递推法预处理 利用公式 复杂度 直接查询 单次查询复杂度 代码 #include <bits/stdc.h> using namespace std; const int N 2010; const int mod 1e97; int c[N][N]; int get_c(int a, int b) {c[0][0] 1;for(i…

9700万个新岗位涌现,AI失业焦虑背后:超千万人找到了新工作

随着技术的飞速进步&#xff0c;全球就业市场正经历着翻天覆地的变化。 《2023年未来就业报告》预计&#xff0c;未来五年将新增近7000万个工作岗位&#xff0c;同时淘汰8300万个旧岗位。 在中国&#xff0c;城市如武汉和东莞正成为新就业机会的热土&#xff0c;无人驾驶、人…

C++ | Leetcode C++题解之第433题最小基因变化

题目&#xff1a; 题解&#xff1a; class Solution { public:int minMutation(string start, string end, vector<string>& bank) {int m start.size();int n bank.size();vector<vector<int>> adj(n);int endIndex -1;for (int i 0; i < n; i)…

数据结构2——单链表

在数据结构1——顺序表&#xff08;C语言版&#xff09;中&#xff0c;我们已经了解了顺序表的使用和实现&#xff0c;总结一下顺序表的优点&#xff1a; ①尾插尾删效率足够快&#xff1b; ②下标的随机访问和修改也足够方便。 可除此之外顺序表也确实存在着不足&#xff1a; …

随手记:牛回速归

上周-国庆前&#xff1a;牛回速归 国庆&#xff1a;小心被套住 国庆后&#xff1a;一片迷茫 总结&#xff1a;要是上周到国庆前的基本都能捞到&#xff0c;后面情况不好说 后续持续更新

word中的表格全部设置宽度100%

1、背景 我们用工具将数据库或其他的数据导出成word时&#xff0c;表格有的会大于100%&#xff0c;超过了边界。word没有提供全局修改的方法。如果我们想改成100%。 一种方式是通过宏&#xff0c;全局改。一种是手动改。 2、宏修改 如果表格多&#xff0c;可以通过这种方式。…

面试中考察栈和队列的经典算法题

&#x1f49d;&#x1f49d;&#x1f49d;如果你对顺序表的概念与理解还存在疑惑&#xff0c;欢迎观看我之前的作品&#x1f449;【栈和列队详解】 上篇文章&#x1f449; 【面试中顺序表常考的十大题目解析】 目录 &#x1f4af;前言 &#x1f4af;栈相关题目 ⭐有效的括号…

双十一好物清单有哪些值得入手?双11好物种草宝藏清单分享

随着双十一购物狂欢节的临近&#xff0c;各种优惠和折扣让人目不暇接&#xff0c;在这个充满诱惑的时刻&#xff0c;如何挑选出真正值得入手的好物&#xff0c;成为了许多消费者的难题&#xff0c;为此&#xff0c;我精心整理了一份双十一好物清单&#xff0c;为大家提供一些实…

Linux 网络配置 (深入理解)

前言 前期我比较迷惑Ubuntu 的网络配置。 我接触比较多的 Linux 发行版都是 Ubuntu &#xff0c;我按照网上的一些教程配置网络发现&#xff0c;没有相关网络配置文件夹。然后我发现不是我的问题而是不同版本的配置方式和工具是不一样的。然后有些配置已经弃用了。 常见的网络…

计算机网络--TCP、UDP抓包分析实验

计算机网络实验 目录 实验目的 实验环境 实验原理 1、UDP协议 2、TCP协议 实验具体步骤 实验目的 1、掌握使用wireshark工具对UDP协议进行抓包分析的方法&#xff0c;掌握UDP协议的报文格式&#xff0c;掌握UDP协议校验和的计算方法&#xff0c;理解UDP协议的优缺点&am…

手把手教你使用YOLOv11训练自己数据集(含环境搭建 、数据集查找、模型训练)

一、前言 本文内含YOLOv11网络结构图 训练教程 推理教程 数据集获取等有关YOLOv11的内容&#xff01; 官方代码地址&#xff1a;https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/11 二、整体网络结构图 三、环境搭建 项目环境如下&#xf…

verilog实现FIR滤波系数生成(阶数,FIR滤波器类型及窗函数可调)

在以往采用 FPGA 实现的 FIR 滤波功能&#xff0c;滤波器系数是通过 matlab 计算生成&#xff0c;然后作为固定参数导入到 verilog 程序中&#xff0c;这尽管简单&#xff0c;但灵活性不足。在某些需求下&#xff08;例如捕获任意给定台站信号&#xff09;需要随时修改滤波器的…

FPGA学习(1)-mux2,2选1多路器

目录 1 开发板配套资料 1.1学习网址和资料网址 2.创建工程文件 2.1创建过程 2.2写程序及仿真测试 2.2.1 写程序生成电路 2.2.2仿真 2.2.3 生成执行文件并烧录 3.实验现象 买的小梅哥店铺的开发板&#xff1a;xc7z020clg400 看的小梅哥的视频&#xff1a;03C _基于ZYN…

VUE 开发——AJAX学习(三)

一、async函数和await async和await关键字让我们可以用一种更简洁的方式写出基于Promise的异步行为&#xff0c;而无需刻意地链式调用Promise async写在函数声明的前面&#xff1b;在async函数内&#xff0c;使用await关键字&#xff0c;获取Promise对象“成功状态”结果值 &…

身份证号、定位信息等个人信息敏感性判定解析

关于身份证号号码以及精确定位信息是否是敏感个人信息的疑问一直以来不少合规安全从业者有疑惑&#xff0c;本文来自于《数安标准强基助力计划 》作者为指南和标准的起草者&#xff0c;其观点具有一定的权威性&#xff0c;一下为内容摘要&#xff0c;以供大家学习和解惑&#x…

Qt多线程操作sqlite数据库

问题 就是为了多线程操作sqlite数据库,为什么,因为数据库是耗时的操作,一条数据的插入,差不多200ms,如果是数据插入多了,界面会有明显的卡顿,因此必须,多线程操作数据库。 问题是这样的: 插入数据之后,接着更新界面;然而,插入数据是比较耗时的操作,尤其插入数据…

图解C#高级教程(一):委托

什么是委托 可以认为委托是持有一个或多个方法的对象。但它与对象不同&#xff0c;因为委托可以被执行。当执行委托时&#xff0c;委托会执行它所“持有”的方法。先看一个完整的使用示例。 // See https://aka.ms/new-console-template for more informationdelegate void M…

【Git原理与使用】Git初识基本操作

Git初识&&基本操作 1.初识Git2.Git安装3.Git基本操作3.1创建Git本地仓库3.2配置Git3.3认识工作区、暂存区、版本库3.4添加文件3.5修改文件3.6版本回退3.7撤销修改3.8删除文件 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f…