问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

RuoYi-Vue生成代码使用功能

创作时间:
作者:
@小白创作中心

RuoYi-Vue生成代码使用功能

引用
CSDN
1.
https://blog.csdn.net/weixin_73643426/article/details/143795474

RuoYi-Vue是一个基于Spring Boot和Vue.js的前后端分离快速开发框架,提供了强大的后端管理功能和前端页面的快速生成能力。通过内置的代码生成器,开发者可以快速生成符合业务需求的CRUD(创建、读取、更新、删除)操作代码,极大地提高了开发效率,缩短了项目周期。本文将详细介绍RuoYi-Vue项目的代码生成器功能,帮助开发者了解如何高效地使用该工具。

前言

在现代Web应用开发中,效率和质量是两大核心要求。RuoYi-Vue作为一个基于Spring Boot和Vue.js的前后端分离快速开发框架,提供了强大的后端管理功能和前端页面的快速生成能力。通过内置的代码生成器,开发者可以快速生成符合业务需求的CRUD(创建、读取、更新、删除)操作代码,极大地提高了开发效率,缩短了项目周期。本文将详细介绍RuoYi-Vue项目的代码生成器功能,帮助开发者了解如何高效地使用该工具。

一、代码生成器概述介绍

1. 代码生成器功能介绍

RuoYi-Vue代码生成器是一个强大的工具,旨在帮助开发者快速生成符合业务需求的CRUD操作代码。它不仅支持生成后端接口代码,还可以生成前端页面代码,极大地提高了开发效率。以下是代码生成器的主要功能:

  • 自动生成后端代码: 包括控制器(Controller)、服务层(Service)、数据访问层(DAO)等。
  • 自动生成前端代码: 包括Vue组件、API请求封装等。
  • 支持多种数据库: 如MySQL、Oracle、SQL Server等。
  • 灵活的模板定制: 允许用户根据项目需求自定义代码生成模板。
  • 丰富的配置选项: 提供多种生成选项,如是否生成菜单、按钮权限控制等。
  • 代码注释生成: 自动生成详细的代码注释,方便后续维护。

2. 代码生成器的工作原理

RuoYi-Vue代码生成器的工作原理主要包括以下几个步骤:

  • 读取数据库表结构: 代码生成器首先连接到数据库,读取指定表的结构信息,包括字段名、数据类型、长度等。这一步骤确保生成的代码与数据库表结构完全匹配。
  • 解析生成规则: 根据用户在生成器界面中配置的规则,解析生成哪些类型的文件(如Controller、Service、Mapper等)。
  • 生成代码模板: 使用预定义的代码模板或用户自定义的模板,生成相应的代码文件。
  • 保存生成的代码: 将生成的代码文件保存到指定的目录中。

二、代码生成器的使用

1. 启动代码生成器

在RuoYi-Vue项目中,启动代码生成器的步骤如下:

1.1确保您的开发环境已经配置好,包括JDK、MySQL、Maven等。

1.2使用IDE(如IntelliJ IDEA或Eclipse)打开RuoYi-Vue项目。

1.3启动项目,显示“若依启动成功”,项目能够正常运行。

1.4 启动及验证前台

1.5访问代码生成器:打开浏览器,访问RuoYi-Vue项目的后台管理系统,通常地址为http://localhost:80/。登录系统,进入系统工具模块,找到“代码生成”选项。

2. 配置生成自己的功能模块

2.1 准备数据源

做一个“学生信息”功能,首先得先有一张学生信息表,直接在ry-vue数据库中创建my_student,记得添加注释,后面功能会用上。往数据表中添加几条数据。

创建好之后,往数据表中添加几条数据。

2.2 使用RuoYi代码生成器生成菜单及接口还有页面

2.2.1选择数据源:

在代码生成器界面中,选择要生成代码的数据源。RuoYi-Vue默认配置了两个数据源,可以选择导入自己的数据源。

2.2.2选择表:

从数据源中选择要生成代码的表。可以选择单个表或多表生成。

  • 配置生成选项: 包括包名、作者、模块名、表前缀等。

点击编辑

就可以对包名、作者、模块名、表前缀等进行修改

点击提交,显示操作成功。

2.3 生成代码实例

完成以上步骤之后,

2.3.1点击预览

2.3.2检查代码是否有误

2.3.3 代码生成

确认无误后,点击“生成”按钮,代码生成器会根据配置生成相应的代码文件。

上述代码展示了如何使用RuoYi-Vue-Plus中的中间件和服务层来处理用户登录请求。通过调用

userService.login()

方法验证用户信息,并利用JWT库生成token,最后将结果返回给客户端。这段示例不仅体现了框架在安全性方面的考量,同时也展示了其在处理前后端交互时的便捷性。

2.4 后端添加代码模块

2.4.1 新建模块ruoyi-student

在我们原本的若依项目下新建新模块

在目录中查看,创建成功。

2.4.2在pom文件中添加依赖

2.4.3添加学生信息模块

在ruoyi-admin文件下的pom文件中添加学生信息模块依赖

2.4.4 添加代码

解压刚刚生成的代码zip文件

前端代码vue,后端代码main。数据库studentMenu都已经准备好了

先将数据库文件放入数据库中进行查询

再添加后端代码:

将com文件导入RuoYi-Vue\ruoyi-student\src\main

将mapper文件复制到resource目录下

这样后端的代码就已经添加完毕

然后我们再来添加前端前端的代码:

将文件

复制到RuoYi-Vue\ruoyi-ui\src和java\RuoYi-Vue\ruoyi-ui\src目录下

此时代码就已经完全导入了。重启若依。

这样就完成了

三、测试功能

3.1添加学生信息: 通过生成的前端页面添加学生信息。

这样就添加成功了。

3.2修改学生信息: 修改已添加的学生信息。

这样就修改成功了

3.3删除学生信息: 删除不再需要的学生信息。

这样就删除成功了

3.4查询学生信息: 查询学生信息列表。

四、过程中遇到的问题

一、启动和验证前台过程中

1、在启动和验证前台时遇到以下状况:

解决方法:

若仍未解决,可参考:npm ERR! code CERT_HAS_EXPIRED:解决证书过期问题_npm证书过期-CSDN博客

二、在导入my_student过程中遇到以下问题

这个问题是由于在执行数据库查询时,SQL语句中引用了一个不存在的列

tpl_web_type

。具体来说,错误发生在文件

RuoYi-Vue\ruoyi-generator\target\classes\mapper\generator\GenTableMapper.xml

中的

com.ruoyi.generator.mapper.GenTableMapper.selectGenTableList

方法内联的SQL语句中。错误信息指出在

field list

中未知的列

tpl_web_type

我们按照错误提示找到文件RuoYi-Vue\ruoyi-generator\target\classes\mapper\generator

第一种方法:

第一种比较粗暴的解决方案是:直接在该文件下找到

tpl_web_type

然后把它删掉,再次启动若依,就能正常导入表了。

第二种方法

在日常写作业过程中,我们按照第一种方法当然是最简单粗暴的,但是在实际项目中,我们遇到该类问题时,不能因为数据库中没有这一列就直接将其删掉,直接删掉在后续的工作过程中可能会出现连锁反应,所以不建议使用第一个方法。

第二种方法是:报错显示缺少列

tpl_web_type,那么我们就在数据库中将其加上。

第一步:找到tpl_web_type所在的表

第二步:右键,选择设计表

第三步:点击添加字段

第四步:将

tpl_web_type添加进去

刷新数据库,重新启动ruoyi,该问题就被完美的解决啦!

三、在所有代码全部导入时

java.lang.NoSuchFieldError

通常是由于升级到Java 21后,Lombok等库无法正确访问内部的Java编译器API导致的。具体来说,Lombok在早期版本中使用反射访问

com.sun.tools.javac.tree.JCTree$JCImport

类的

qualid

字段,该字段在Java 21中的类型发生了变化。在Java 21及更高版本中,

qualid

字段的类型从

JCTree

变更为

JCFieldAccess

,这导致了Lombok无法正确访问该字段,从而抛出

NoSuchFieldError

异常。

五、总结

RuoYi-Vue作为一个现代化的后台管理系统前端解决方案,采用了当前流行的技术栈,例如Vue3、TypeScript、Element Plus等。这些技术的使用使得RuoYi-Vue具备了强大的功能和灵活的扩展性,可满足各种后台管理系统的开发需求。通过内置的代码生成器,开发者可以快速生成符合业务需求的CRUD操作代码,极大地提高了开发效率。希望本文能为您提供有价值的指导和参考。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号