首页 > 编程语言 >【Java】若依(ruoyi)——5.代码生成

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

时间:2024-09-09 16:48:27浏览次数:1  
标签:comment 代码生成 Java default ruoyi student null id

参考地址: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 = '商品表';

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

 主子表页面如下:

 

标签:comment,代码生成,Java,default,ruoyi,student,null,id
From: https://www.cnblogs.com/luyj00436/p/18398248

相关文章

  • Java基础-学习笔记17
    17IO流1.IO流文件文件在程序中是以流的形式来操作的。流:数据在数据源(文件)和程序(内存)之间经历的路径输入流:数据从数据源(文件)到程序(内存)的路径输出流:数据从程序(内存)到数据源(文件)的路径常用的文件操作获取文件的相关信息IO流原理及流的分类I/O(Input/Output......
  • 2-3Java继承
    Java继承继承的概念继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。生活中的继承:兔子和羊属于食草动物类,狮子和豹属于食肉......
  • JavaScript 基础知识
    概述        在Web前端开发中,JavaScript是一种脚本语言,主要用于实现网页的动态功能和交互效果。与HTML和CSS主要关注网页的结构和样式不同,JavaScript可以用于以下方面:动态内容更新:通过JavaScript,可以在不重新加载页面的情况下更新网页上的内容。例如,用户点击......
  • Java----字符串(String)
    一、什么是字符串?定义:字符串是一个或多个字符的序列在java中用char数组来表示字符串,我们可以从源码看到:java对char数组进行了封装,并用String类型来表达字符串,也就是说java程序中所有字符串的文字都被成为此类的对象。#java8源码/**Thevalueisusedforcharacterst......
  • java 多态
    面向对象三大特性:封装、继承、多态,今天我们来讲解多态定义:同类型的对象表现出不同的形态    这听起来有点抽象,我们举个具体的例子:    假设你开了一家宠物店,提供宠物寄养的服务,于是你规定可以给寄养所有的波斯猫,附近的居民都把宠物寄养在这里://参数是哈......
  • JavaScript 事件循环
    0x01事件循环JavaScript是单线程的,即同一时间内仅能执行一个操作在单线程中,当一段代码中存在需要等待或触发的任务时,会阻塞线程,影响后续代码的执行,因此需要将代码分为同步和异步,其执行过程如下:flowchartLR代码--同步-->JS引擎-->执行栈--立即执行-->执行栈代码--异步-......
  • [Javascript] Function.prototype.call
    .callmethodexitsonanyfunction,whichwillreferto Function.prototype.callforexample:console.log.call===Function.prototype.call//call AlsoitmeansthatFunction.prototype.call===Function.prototype.call.call Question:console.log.call.cal......
  • JVM(Java Virtual Machine,Java 虚拟机)
    JVM(JavaVirtualMachine,Java虚拟机)是Java程序运行的虚拟计算机,它是一个抽象计算机的概念,为Java程序提供了一个与平台无关的执行环境。JVM负责加载Java类文件,执行字节码,并提供运行时环境,包括内存管理、垃圾回收等。JVM主要由四大部分组成:ClassLoader(类加载器):负责加载......
  • 【高级编程】实用类详解(下)万字整理Java时间日期类 JDK8新日期
    文章目录日期时间DateSimpleDateFormatCalendarJDK8新日期LocalDateTime&LocalDate&LocalTimeDateTimeFormater计算Period&DurationzonedDateTimeInstant类型转换注意事项日期时间Datejava.util.Date类:表示日期和时间。提供操作日期和时间各组成部分的方法。......
  • 【高级编程】Java流(上)字节流 InputStream OutputStream
    文章目录文件操作流输入流InputStream输出流OutputStream文件操作文件是指相关记录或放在一起的数据的集合。是一种用于存储数据的基本单位,它可以包含各种类型的信息,例如文本、图像、音频或视频。文件在计算机中通常存储在磁盘或其他存储介质上,并且每个文件都有一个......