从零搭建RuoYi若依(非分离版)

  • 一、环境搭建
  • 1、准备工作
  • 2、下载源码
  • 3、导入到IDEA
  • 4、修改Maven配置
  • 5、创建数据库
  • 6、修改数据库连接配置
  • 7、启动项目
  • 二、示例:使用ruoyi的代码生成功能
  • 1、新建功能模块
  • 2、代码生成功能

一、环境搭建

1、准备工作

RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。

  • 系统需求
    JDK >= 1.8
    MySQL >= 5.7
    Maven >= 3.0

2、下载源码

前往Gitee下载页面https://gitee.com/y_project/RuoYi下载解压到工作目录

若依微服务搭建 若依框架搭建_功能模块

3、导入到IDEA

进入IDEA,依次点击 File >> New >> Project from Existing Sources…

若依微服务搭建 若依框架搭建_若依微服务搭建_02


若依微服务搭建 若依框架搭建_代码生成_03


若依微服务搭建 若依框架搭建_加载_04


IDEA会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定),加载完成后的界面:

若依微服务搭建 若依框架搭建_功能模块_05

4、修改Maven配置

依次点击 File >> Settings:

若依微服务搭建 若依框架搭建_若依微服务搭建_06

5、创建数据库

在mysql中,创建数据库ry,并执行数据脚本ry_2021xxxx.sql,quartz.sql

若依微服务搭建 若依框架搭建_功能模块_07

若依微服务搭建 若依框架搭建_若依微服务搭建_08

6、修改数据库连接配置

若依微服务搭建 若依框架搭建_加载_09

7、启动项目

运行com.ruoyi.RuoYiApplication.java,出现如下图表示启动成功。

若依微服务搭建 若依框架搭建_功能模块_10


打开浏览器,访问localhost

若依微服务搭建 若依框架搭建_代码生成_11


输入账号/密码:admin/admin123,就进入系统了:

二、示例:使用ruoyi的代码生成功能

1、新建功能模块

1.1 右击项目名字>> new >> module >> maven >> next >> exam-paper (模块名称) >> finsh

      注:exam-paper是我自定义的模块名称,用于接下来的演示。

1.2 在生成的pom.xml中,添加以下内容:

<description>
        试卷管理模块
    </description>
    
    <dependencies>

        <!-- 通用工具-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common</artifactId>
        </dependency>

    </dependencies>

1.3 在父项目的pom.xml引入新建功能模块的依赖

<!--新创建的功能模块:试卷管理-->
            <dependency>
                <groupId>com.ruoyi</groupId>
                <artifactId>exam-paper</artifactId>
                <version>${ruoyi.version}</version>
            </dependency>

1.4 在ruoyi-admin模块的pom.xml引入新建功能模块的依赖

<!--新创建的功能模块:试卷管理-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>exam-paper</artifactId>
        </dependency>

2、代码生成功能

2.1 添加菜单:试卷管理

若依微服务搭建 若依框架搭建_功能模块_12


若依微服务搭建 若依框架搭建_加载_13

2.2 执行sql脚本:

-- 试卷信息表
drop table if exists exam_paper cascade;

create table exam_paper (
  paper_id bigint(20) not null comment '试卷id'
  , paper_name varchar(255) comment '试卷名称'
  , start_time datetime comment '考试开始时间'
  , end_time datetime comment '考试结束时间'
  , grade char(1) comment '试卷难度:1:简单,2:中等,3:困难'
  , status char(1) comment '状态:0:无效,1:有效'
  , rec_creator varchar(64) comment '记录创建者'
  , rec_create_time datetime comment '记录创建时间'
  , rec_revisor varchar(64) comment '记录修改者'
  , rec_revise_time datetime comment '记录修改时间'
  , del_flag char(1) default '0' comment '删除标志:1:删除'
  , constraint exam_paper_PKC primary key (paper_id)
) comment '试卷信息表';

insert into exam_paper values(101,  '高等数学期中考试一',   '2021/4/16 19:00:00.000', '2021/4/16 21:00:00.000',   '2', '1', 'test', sysdate(), 'test', sysdate(), '0');

2.3 在系统中导入要代码生成的表

若依微服务搭建 若依框架搭建_功能模块_14


2.4 修改生成配置信息

若依微服务搭建 若依框架搭建_代码生成_15


若依微服务搭建 若依框架搭建_代码生成_16


若依微服务搭建 若依框架搭建_加载_17


若依微服务搭建 若依框架搭建_功能模块_18

2.5 生成代码

若依微服务搭建 若依框架搭建_若依微服务搭建_19


解压压缩文件后,得到2个文件:

【main】中的是生成的代码,【paperMenu.sql】是对应的菜单和按钮的sql脚本

若依微服务搭建 若依框架搭建_功能模块_20


2.6 执行sql脚本

若依微服务搭建 若依框架搭建_若依微服务搭建_21


2.7 将代码复制到创建的功能模块下相应的文件中

若依微服务搭建 若依框架搭建_加载_22

2.8 重新加载项目
此时在IDEA中,粘贴进来的代码可能报错,需要重新加载项目:
右键项目名称–> reload from disk,
右键项目名称–> maven --> reload project ,就没有报错了

此时启动项目,进入系统,可以看到如下:

若依微服务搭建 若依框架搭建_功能模块_23