Skip to content

代码生成器

代码生成器是一个强大的工具,旨在帮助开发者快速生成高质量的代码。通过自动化代码生成过程,您可以节省时间,减少错误,并专注于业务逻辑的实现。我们致力于打造一个用户友好、功能全面且易于扩展的代码生成功能。

参数配置

yaml
generator:
  path:
    # 指定前端项目的存放路径,确保代码生成器能够正确地将生成的前端代码放置到相应的位置。
    web:  # 如:E:\dev\Code\Github\sz-admin
  # 定义生成代码所属的模块名称,有助于代码的组织和管理。
  module-name: sz-service
  # 服务模块的名称,通常与module-name相呼应,用于区分不同的服务模块。
  service-name: sz-service-admin
  global:
    # 代码的作者信息
    author: sz-admin
    #  定义代码生成的包路径
    packages: com.sz.admin

快速开始

导入目标表

点击左上角导入按钮,在弹出窗口中选择要导入的表。

import-base-table

表编辑

基本信息

  • 描述信息:允许用户为表添加描述,以便于理解和维护。
  • 生成目标实体类名称:用户可以自定义生成的实体类的名称。

edit-form-baseInfo

字段信息

选择模板

系统支持四种模板:

  • 全量模板:生成完整的前后端代码,适合需要快速搭建完整应用的场景。
  • 后端模板:仅生成后端服务代码,适合专注于后端逻辑开发的场景。
  • 接口模板:生成服务层接口和数据模型,适合需要快速定义服务接口的场景。
  • 数据库模板:专注于数据库交互,生成数据模型和映射配置,适合数据库设计和优化。

edit-form-template

配置字段

在代码生成器中,字段配置是至关重要的一步,它决定了生成代码的精确性和适用性。以下是您可以为每个字段配置的属性列表及其说明:

  • 主键: 标识该字段是否作为数据库表的主键。主键是唯一标识表中每条记录的字段。
  • 自增 : 当字段设置为主键时,可以选择是否自动增长,通常用于整数类型的主键字段。
  • 唯一校验: 确保字段值在数据库表中的唯一性,防止重复数据的插入。
  • 必填 : 标识该字段在数据表中是否必须填写,不允许为空值。
  • 逻辑删除 : 用于实现软删除功能,即在数据库中标记记录为已删除,而不是实际从数据库中删除记录。
  • 插入实体 : 标识该字段是否参与创建新记录时的数据插入。
  • 编辑实体 标识该字段是否参与记录更新时的数据更新。
  • 列表实体: 标识该字段是否在查询列表时返回,通常用于展示在数据表格中。
  • 查询条件实体: 标识该字段是否可以作为查询条件,用于构建查询语句。
  • 导入实体 标识该字段是否参与数据导入过程。
  • 导出实体 : 标识该字段是否包含在数据导出操作中。
  • 查询方式 定义字段在查询时的匹配方式,如精确匹配、模糊匹配等。
  • 显示类型: 定义字段在前端展示的类型,如文本框、下拉列表、日期选择器等。
  • 字典 : 用于定义字段值的枚举或字典值,确保数据的标准化和一致性。

edit-form-field

生成信息

  • 菜单层级:指导用户如何配置生成页面的菜单结构。
  • 按钮权限标识:说明如何为生成的页面配置权限控制。
  • API配置:详细说明如何配置生成的API接口。

edit-form-generator

生成代码

选择您已配置好的表,点击“生成代码”按钮,即可自动将代码生成到您的项目中。

我们非常重视代码的安全性和项目的完整性。在生成代码的过程中,系统会自动执行存在性校验:

  • 文件覆盖保护:如果目标路径下已存在同名文件,系统将不会进行覆盖,以保护您现有的代码不受意外更改。
  • 菜单唯一性校验:为了避免重复生成菜单项,系统将执行菜单唯一性校验。这一机制确保了生成的菜单项不会与现有菜单重复,减少了冗余并保持了菜单的清晰性。

generator-result

配置角色权限

在角色管理菜单中,选择特定角色并为新生成的菜单项分配相应的权限,以确保权限设置的准确性和即时生效。

user-role-set

刷新页面

配置好权限后,我们就可以刷新页面查看菜单了!

flush-page

!!重启服务生效

请注意,生成的代码在您的项目中虽然已经创建,但尚未在Java虚拟机(JVM)中加载。为了使这些新生成的代码生效并运行,您需要重启Java服务。

generator-success

未重启的报错信息:

not-reload-error

开始定制和测试

恭喜你,CRUD代码的自动生成已经完成。这标志着已经获得了代码的初始版本,接下来你可以根据实际业务需求进行进一步的定制和优化。

最后更新时间: