目录
✨接新增子模块,让子模块运行起来,还没创建模块的移步这里:RuoYi-Cloudv3.6.4使用教程【1】新增子模块
官方文档:代码生成
!!!出问题一定检查自己的每个细节,我就是打反两个字母,半天就过去了
准备工作
修改代码生成的配置信息
ruoyi-generator中的resources目录下的generator.yml,可以自己根据实际情况调整默认配置,例如
# 代码生成
gen:
# 作者
author: lydia
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
packageName: com.ruoyi.crm
# 自动去除表前缀,默认是false
autoRemovePre: false
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
tablePrefix: sys_
在nacos中找到配置并编辑上面这段配置
ry-cloud中创建表
单表结构
新建数据库表结构(单表)
drop table if exists sys_student;
create table sys_student (
student_id int(11) auto_increment comment '编号',
student_name varchar(30) default '' comment '学生名称',
student_age int(3) default null comment '年龄',
student_hobby varchar(30) default '' comment '爱好(0代码 1音乐 2电影)',
student_sex char(1) default '0' comment '性别(0男 1女 2未知)',
student_status char(1) default '0' comment '状态(0正常 1停用)',
student_birthday datetime comment '生日',
primary key (student_id)
) engine=innodb auto_increment=1 comment = '学生信息表';
树表结构
新建数据库表结构(树表)
drop table if exists sys_product;
create table sys_product (
product_id bigint(20) not null auto_increment comment '产品id',
parent_id bigint(20) default 0 comment '父产品id',
product_name varchar(30) default '' comment '产品名称',
order_num int(4) default 0 comment '显示顺序',
status char(1) default '0' comment '产品状态(0正常 1停用)',
primary key (product_id)
) engine=innodb auto_increment=1 comment = '产品表';
主子表结构
新建数据库表结构(主子表)
-- ----------------------------
-- 客户表
-- ----------------------------
drop table if exists sys_customer;
create table sys_customer (
customer_id bigint(20) not null auto_increment comment '客户id',
customer_name varchar(30) default '' comment '客户姓名',
phonenumber varchar(11) default '' comment '手机号码',
sex varchar(20) default null comment '客户性别',
birthday datetime comment '客户生日',
remark varchar(500) default null comment '客户描述',
primary key (customer_id)
) engine=innodb auto_increment=1 comment = '客户表';
-- ----------------------------
-- 商品表
-- ----------------------------
drop table if exists sys_goods;
create table sys_goods (
goods_id bigint(20) not null auto_increment comment '商品id',
customer_id bigint(20) not null comment '客户id',
name varchar(30) default '' comment '商品名称',
weight int(5) default null comment '商品重量',
price decimal(6,2) default null comment '商品价格',
date datetime comment '商品时间',
type char(1) default null comment '商品种类',
primary key (goods_id)
) engine=innodb auto_increment=1 comment = '商品表';
代码生成使用
启动以下模块,除gen其他三个先启动,无先后顺序
导入对应表
登录系统(系统工具 -> 代码生成 -> 导入对应表)
代码生成
代码生成列表中找到需要表(有预览、编辑、同步、删除生成配置的功能,可以自己点开看一下)
点击生成代码会得到一个ruoyi.zip执行sql文件
代码放置
按照包内目录结构复制到自己的项目中
菜单
生成的sql文件在ry-cloud库下执行,但是需要改一下父级目录
例如我加了学生信息,是放到系统工具下的,把他放到系统工具这层
parent_id 改成0
启动新增模块
以上执行完后,接下来完善crm模块
创建数据库
首先把刚刚几张表,在新增模块对应的库创建好,如果还没创建库的话,可以参考执行以下语句
DROP DATABASE IF EXISTS `ry-lydia-crm`;
CREATE DATABASE `ry-lydia-crm` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
USE `ry-lyida-crm`;
创建表
drop table if exists sys_student;
create table sys_student (
student_id int(11) auto_increment comment '编号',
student_name varchar(30) default '' comment '学生名称',
student_age int(3) default null comment '年龄',
student_hobby varchar(30) default '' comment '爱好(0代码 1音乐 2电影)',
student_sex char(1) default '0' comment '性别(0男 1女 2未知)',
student_status char(1) default '0' comment '状态(0正常 1停用)',
student_birthday datetime comment '生日',
primary key (student_id)
) engine=innodb auto_increment=1 comment = '学生信息表';
drop table if exists sys_product;
create table sys_product (
product_id bigint(20) not null auto_increment comment '产品id',
parent_id bigint(20) default 0 comment '父产品id',
product_name varchar(30) default '' comment '产品名称',
order_num int(4) default 0 comment '显示顺序',
status char(1) default '0' comment '产品状态(0正常 1停用)',
primary key (product_id)
) engine=innodb auto_increment=1 comment = '产品表';
-- ----------------------------
-- 客户表
-- ----------------------------
drop table if exists sys_customer;
create table sys_customer (
customer_id bigint(20) not null auto_increment comment '客户id',
customer_name varchar(30) default '' comment '客户姓名',
phonenumber varchar(11) default '' comment '手机号码',
sex varchar(20) default null comment '客户性别',
birthday datetime comment '客户生日',
remark varchar(500) default null comment '客户描述',
primary key (customer_id)
) engine=innodb auto_increment=1 comment = '客户表';
-- ----------------------------
-- 商品表
-- ----------------------------
drop table if exists sys_goods;
create table sys_goods (
goods_id bigint(20) not null auto_increment comment '商品id',
customer_id bigint(20) not null comment '客户id',
name varchar(30) default '' comment '商品名称',
weight int(5) default null comment '商品重量',
price decimal(6,2) default null comment '商品价格',
date datetime comment '商品时间',
type char(1) default null comment '商品种类',
primary key (goods_id)
) engine=innodb auto_increment=1 comment = '商品表';
创建配置文件_新增的模块
参考ruoyi-system-dev.yml,在nacos为新增的模块创建配置
# spring配置
spring:
redis:
host: 192.168.127.115
port: 6379
password:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.127.115:3306/ry-lydia-crm?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: user001
password:
# mybatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.ruoyi.crm
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath:mapper/**/*.xml
# swagger配置
swagger:
title: crm模块接口文档
license: Powered By ruoyi
licenseUrl: https://ruoyi.vip
新增logback.xml
从其他模块复制一份过来,改下日志存放的路径即可
日志会输出到这里
新增banner
banner生成网站有很多,随便挑了一个banner在线生成
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}
__ ____ ___ ___
/ ]| \ | | |
/ / | D )| _ _ |
/ / | / | \_/ |
/ \_ | \ | | |
\ || . \| | |
\____||__|\_||___|___|
添加路由
在ruoyi-gateway-dev.yml中添加路由,网关有RefreshScope注解,能够实时感知到Nacos配置的变化并自动刷新
启动项目
学生信息已添加到菜单,也能正常访问,over!