若依框架入门(前后端分离版本)

article/2025/6/27 6:33:12

目录

一 若依下载以及配置启动

1.下载地址

2.数据库引入及配置

3.前端vue启动 

4.登录及验证

二.关于若依框架的基本使用方法

1.自动生成

2.菜单的配置

3.数据字典

4.关于api接口

5.关于定时任务

6.关于分页


一 若依下载以及配置启动

1.下载地址

学习基础:Springboot Vue

环境要求:JDK1.8+ MySQL Redis Maven Vue

下载地址:若依官网

 

ruoyi- ui为前端部分其余为后端部分,主要服务与ruoyi-admin文件夹

下载步骤:复制路径打开idea克隆即可

https://gitee.com/y_project/RuoYi-Vue.git

 

 

 因为是分离版本我们除了启动后端部分外还要启动前端部分

当然我们也可以使用idea分别打开前后端部分这里就不列举了

2.数据库引入及配置

在打开前我们还需要配置数据库MySQL Redis

 

 启动之前先引入数据库,打开官网sql文件下载

 这里补充说明看到有小伙伴说navicat没有执行成功...

 可能是打开方式不对

如何使用Navicat执行SQL文件

关键步骤

还不行的话有可能是数据库版本的问题,如果想换数据库版本的话先卸载干净

成功之后打开idea配置数据库,这里aaa是之前我导入测试数据库的名字,根据情况改成你本地的就ok了

3.前端vue启动 

前端部分vue需要vue.js插件和node环境

解释下vue.js为什么需要node js环境

vue.js可以在idea直接下载,node自行百度 

然后cd加入对应的ui位置执行npm install

 

 或者直接open in terminal进入文件位置也可以

下载好之后就可以启动了

4.登录及验证

用户名密码

 附: 可以在系统管理里面进行关闭验证码等操作

第一次交互 : 验证码的生成

 三种环境

 开发环境 生产和测试 我们使用的是开发环境

 

 

 前端代码访问80端口通过反向代理关联8080后端

二.关于若依框架的基本使用方法

声明一下我写基本使用方法的目的是为了更快地使用框架,这里讲解一些基本的使用方法,若果想学习更深入的原理可以访问若依前后端分离版,通俗易懂,快速上手

讲的还是挺好的深入浅出

1.自动生成

1创建数据表

2在系统工具 -代码生成里选择导入 导入你的表

3可以选择编辑修改你的备注等信息

4点击生成代码-直接生成

 5将生成的代码复制到你的项目对应位置(前后端xml都有)

6默认生成的add方法的id是自增方法,工作中一般会替代一个18为的id或者其他位数的id

IdUtils.simpleUUID()

7配置路由(你可以简单的理解为拦截器,由路由控制访问)

位置在系统管理-菜单管理

可以分为三个等级

这个是一级目录

2.菜单的配置:

 按钮也是需要配置权限的,不配权限不显示按钮,当然你可以不配把前端的一块删了但是不建议这么干最好还是配一下,因为若依框架本质就是一个关于权限开发的框架

3.数据字典:

在系统管理里面的字典管理可以配置字典,配置字典的好处是可以根据修改字典的值来直接维护字典项,维护比较方便

 

 字典类型通常为数据表名称+字段名称,在设置字典项的时候点击字典名就可以进入

 设置好的字典项会放在sys_dict_code表中

4.关于api接口

,若依自带了 swagger 的接口
将若依启动后,访问 http://localhost/swagger-ui.html (或者使用菜单系统工具 -> 系统接口)可以查看接口

使用时需要在方法上加@ApiOperation("XXXX")

在类上加@Api(tags={"XXXX"})

感兴趣可以自行百度,这里就不仔细讲了,我们在做前后端分离的时候不常用swagger,看你们公司的习惯了,

那我们怎么解决拦截跨域问题呢?

只需要在类上加注解@Anonymous就可以不用登录,下面的方法都可以访问到了

5.关于定时任务

若依内部封装了定时任务quartz

@Component("ryTask")

若依提供了几种调用方式:

Bean调用示例:ryTask.ryParams('xqoer')
Class类调用示例:com.xqoer.quartz.task.RyTask.ryParams('xqoer')
参数说明:支持字符串,布尔类型,长整型,浮点型,整型

看不懂的话就使用注解里面的字点方法名如:ryTask.xxx

 表达式什么的很简单看着点就行

6.关于分页

若依框架自带的分页工具类在代码生成的时候我们也能看见

startPage();

这样的代码,只需在写接口的时候传

PageNum   PageSize

  就可以了


http://chatgpt.dhexx.cn/article/XbExd3Iy.shtml

相关文章

若依框架详细使用

目录 🏳‍🌈若依是用来干什么的❓ 🚩技术支持: 🏳‍🌈如何下载❓ 🚩官网地址: 🏳‍🌈如何搭建ruoyi环境❓ 🚩若依框架的目录结构 🚩 修改配…

js元素距离和鼠标位置整理

距离 offsetTop / offsetLeft ( 元素与父级 定位元素/table/td/th/body 的距离 ) clientTop / clientLeft ( 元素边框宽度 ) scrollTop / scrollLeft ( 元素滚动距离 ) window.scrollY / window.scrollX ( 文档/页面 滚动距离 ) window.pageYOffset / window.pageXOffset ( 另…

原生js实现跑马灯效果,鼠标放下可以停止跑动

js原生代码跑马灯效果纯js代码如下&#xff1a; 1.首先html的内容&#xff08;里面图片自己可以换&#xff0c;li里面也可以填文字&#xff09; <div> <ul><li>呵呵呵呵呵3</li> <li>叽叽叽叽叽4</li> <li…

unity拖拽UI生成Cube并跟随鼠标移动,放置点可放下

代码&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; using UnityEngine.UI;public class DragCreate : MonoBehaviour {public GameObject Cube;public GameObje…

JavaScript的拖拽事件。

在浏览器可以随意的拖拽&#xff0c;我们来看下怎么实现&#xff1f; 我们具体分析一下步骤&#xff1a; 第一步&#xff1a;鼠标选中需要拖拽的地方&#xff0c;鼠标按下。&#xff08;需要使用事件onmousedown&#xff09; 第二步&#xff1a;鼠标按下后&#xff0c;我们接着…

html修改鼠标手势,css要怎么设置鼠标手势?

在CSS中&#xff0c;可以使用cursor属性来设置鼠标手势。下面本篇文章就来给大家介绍一下cursor属性。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。 cursor属性定义了鼠标指针放在一个元素边界范围内时所用的光标形状。有时我们需要…

java 鼠标响应_java小程序中鼠标事件的响应处理

如何在小程序中实现鼠标响应&#xff1f; public class Hello extends Applet implements MouseListener{ public void init(){ addMouseListener(this); } public void mouseEntered(MouseEvent e){ au.play(); setBackground(Color.blue); } public void mouseExited(MouseEv…

html修改鼠标手势,css设置鼠标手势的方法

css设置鼠标手势的方法 相对于传统HTML的表现而言&#xff0c;CSS能够对网页中的对象的位置排版进行像素级的精确控制&#xff0c;支持几乎所有的字体字号样式&#xff0c;下面小编给大家整理了css设置鼠标手势的方法&#xff0c;供大家参阅。 属性名&#xff1a;cursor 属性值…

鼠标拖动生成画框

需求&#xff1a;鼠标按下拖动生成一个画框 注意点&#xff1a; div 的left和top&#xff1a;如果鼠标当前位置>鼠标起始位置&#xff0c;则为鼠标起始位置&#xff08;鼠标往右拉&#xff09;&#xff1b;如果鼠标当前位置<鼠标起始位置&#xff0c;则为鼠标当前位置(…

QT 实现鼠标拖动(drag)和放下(drop)代码(图形操作四)

拖动的对象&#xff1a; #include "outlistitem.h" #include "ui_outlistitem.h"OutListItem::OutListItem(QWidget *parent) :QWidget(parent),ui(new Ui::OutListItem) {ui->setupUi(this); }OutListItem::~OutListItem() {delete ui; }void OutList…

放下鼠标 全键盘定义你的浏览器

在linux上用过vim的朋友相信都被这个编辑器惊艳到了吧, 但是它只是在linux系统中存在而且是在字符操作界面。但是如果将这种可以全键盘的操作搬到windows上这样的图形界面又是怎样令人去感到惊艳呢&#xff1f; 本文介绍的插件是基于谷歌和火狐的&#xff0c;它可以使你在很大的…

外企工作日常:全英文CrossTalk反串讲-讲前紧张,讲后淡定

起因&#xff1a; 在三周之前我接到了一个任务&#xff0c;更准确讲是我自己“作死”主动领取了一个更复杂的任务。这个任务包含了三个相关联的需求。这个需求说简单也简单&#xff0c;说复杂也复杂&#xff5e; 简单在&#xff1a;就是更改一下更新token时间的一个逻辑&am…

linux周六串讲

esc. //粘贴复制上一条命令的参数 cat /etc/resolv.conf //查看DNS地址 route -n //查看网关 hostname //临时修改主机名 hostnamectl set-hostname 名称 //永久修改主机名 ssh root192.168.10.233 //用windows远程的格式&#xff0c;在CMD窗口输入这个命令 …

【Linux】Linux指令串讲

大家好&#xff0c;今天要开启一个新的专题&#xff1a;Linux 今天的内容是指令还有一些基本的Linux知识补充 由于Linux的知识很难明确写出分类&#xff0c;所以目录就不会做的特别详细完全 喜欢的小伙伴点赞收藏一下不迷路哦 目录 1.目录 2.文件 3.路径 1.目录 1.创建目录…

kafka 串讲:架构模型、角色功能梳理

kafka 串讲&#xff1a;架构模型、角色功能梳理 kafka 的 what why how&#xff0c;先有一个粗略宏观的理解 rabbitmq、各种 mq 的技术选型、横向对比 首先&#xff0c;kafka 是一个消息中间件。我们从一个本质的点聊起&#xff0c;我们有一个系统 service&#xff0c;如果这…

【视频理解】论文串讲

视频理解论文串讲 2020-视频理解综述-A Comprehensive Study of Deep Video Action Recognition2014-CVPR-Large-scale Video Classification with Convolutional Neural Networks2014-NIPS-Two-Stream Convolutional Networks for Action Recognition in Videos2015-CVPR-Beyo…

李沐论文精度系列之八:视频理解论文串讲

文章目录 一 、前言二、 DeepVideo&#xff08;IEEE 2014&#xff09;2.1 模型结构2.2 实验结果2.3 总结 三、双流网络及其变体3.1 Two-Stream&#xff08;NeurIPS 2014&#xff09;3.1.1 简介3.1.2 改进工作 3.2 Two stream LSTM&#xff08;CVPR 2015 &#xff09;3.2.1 模型…

【Java】JVM 知识串讲

1. JVM 是什么 JVM 是 Java 虚拟机的简称&#xff0c;我们在下载 Java 运行环境时&#xff08;jre&#xff09;&#xff0c;就已经包含了 JVM 了&#xff0c;JVM 是 Java实现跨平台的最核心的部分&#xff0c;所有的 Java 程序会首先被编译为 .class 的类文件&#xff0c;这种…

视频理解论文串讲——学习笔记

文章目录 DeepVideoTwo-StreamBeyond-short-SmippetsConvolutional FusionTSN C3DI3DNon-localR&#xff08;21&#xff09;DSlowFast Timesformer 本文是对视频理解领域论文串讲的笔记记录。 一篇相关综述&#xff1a;Yi Zhu, Xinyu Li, Chunhui Liu, Mohammadreza Zolfaghari…

CGB2202串讲-java复习

java基础&#xff1a; day01&#xff1a; 1&#xff1a;java的开发环境&#xff1a; 编译器&#xff1a;.java源文件&#xff0c;编译成.class的字节码文件 运行期&#xff1a;jvm加载并运行.class字节码文件 2&#xff1a;名词解释&#xff1a; jvm&#xff1a; 加载并运行.cl…