【Java】若依(ruoyi)——5.代码生成

参考地址:http://doc.ruoyi.vip/ruoyi/document/htsc.html#%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90

仔细关注,发现若依真的太好用了。主要是使用的人数众多,文档齐全。而且里面的技术齐全,就算不使用该框架,也可以以此为例,学习学习。

这里,最有效的功能算是代码生成了,(这里使用的是前后端未分离的版本)。

具体步骤如下:

1. 创建对应的数据库

2. 修改默认配置,确定生成目录(不是每次都必须的)

3. 代码生成导入对应的表

4.下载代码,导入到对应的位置

表单类型包含:单表结构、树表结构、主子表结构。我们分表使用3中表结构生成代码。

单表结构

创建对应的数据库

若依的系统数据库中,创建学生信息表。

 1 drop table if exists sys_student;
 2 create table sys_student (
 3   student_id           int(11)         auto_increment    comment '编号',
 4   student_name         varchar(30)     default ''        comment '学生名称',
 5   student_age          int(3)          default null      comment '年龄',
 6   student_hobby        varchar(30)     default ''        comment '爱好(0代码 1音乐 2电影)',
 7   student_sex          char(1)         default '0'       comment '性别(0男 1女 2未知)',
 8   student_status       char(1)         default '0'       comment '状态(0正常 1停用)',
 9   student_birthday     datetime                          comment '生日',
10   primary key (student_id)
11 ) engine=innodb auto_increment=1 comment = '学生信息表';

修改默认配置,确定生成目录(不是每次都必须的)

多模块ruoyi-generator中的resources目录下的generator.yml,可以自己根据实际情况调整默认配置。

代码生成导入对应的表

运行若依,首页菜单栏【系统工具】→【代码生成】。点击页面的【导入】按钮,选择表(sys_student)。

 点击【编辑】。

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

预览:对生成的代码提前预览,防止出现一些不符合预期的情况。

同步:对原表的字段进行同步,包括新增、删除、修改的字段处理。

修改:对生成的代码基本信息、字段信息、生成信息做一系列的调整。

另外多模块所有代码生成的相关业务逻辑代码在ruoyi-generator模块,不需要可以自行删除模块。

 然后,可以修改“基本信息”、“字段信息”和“生成信息”。

下载代码,导入到对应的位置

点击【生成代码】,这时候下载了名为【ruoyi.zip】的文件,解压后,发现:【main】文件夹和一个sql文件。【main】文件包含了MVC三层的java源码和前端文件。在系统数据库sql文件执行后,可以在配置好的位置增加菜单。

 查看sql文件,可知。增加了一个页面,并在该页面添加:查询、新增、修改、删除、导出按钮。

将【main】的代码放置合适的位置。例如,这里,【domain】、【mapper】、【services】层代码放在“system”模块对应的代码下,【controller】放在admin模块的对应java代码下。资源文件,放在模块“system”的“mapper”文件下,“templates”文件放在模块“admin”的资源文件下。

 执行sql语句,编译并重启项目。可以看到,已经生成了需要的页面。

 这里,是普通的具有:查询、添加、修改、删除和导出的页面了。

关于页面更详细的自定义方式,可以后续再研究。

树表结构

接下来,是树表结构。

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 = '商品表';

配置时,选择模板结构选择(主子表),其他步骤相似。

 主子表页面如下:

 

posted @ 2024-09-09 16:43  陆陆无为而治者  阅读(1096)  评论(0编辑  收藏  举报