新增微服务完成 CRUD 👍

项目初始化注意事项
  • 请务必按照本文档的 包名项目名 进行初始化,其他内容请了解 feign、mybatis 的包扫描规则。
  • 根据上述文档生成初始化 demo 项目,如果使用 IDEA,请直接使用图形化界面;其他开发工具请使用 mvn 命令行。
  • 生成 demo 项目时,请注意 archetypepigx 的版本需一致。
Archetype 生成流程示意图

1. 使用 pigx archetype 初始化项目

1.1 编译 pigx 项目

编译前置条件

请先完整编译一次 PIGX 服务端项目,以确保所有依赖包正确安装。 这是为了避免在执行 Maven Archetype 时出现 "找不到包" 的错误。

cd pigx/
mvn clean install

1.2 执行 archetype 生成

# 直接在win + R CMD小黑屏里面执行,不要使用 powershell 或者其他终端
mvn org.apache.maven.plugins:maven-archetype-plugin:3.1.0:generate ^
      -Dproject=pigx ^
      -DjavaVersion=17 ^
      -DgroupId=com.pig4cloud ^
      -DartifactId=demo ^
      -Dversion=5.12.0 ^
      -DarchetypeGroupId=com.pig4cloud.archetype ^
      -DarchetypeArtifactId=pigx-gen ^
      -DarchetypeVersion=5.12.0 ^
      -DarchetypeCatalog=local
参数备注
-Dprojectpigx项目名称,专属版本需要修改
-DjavaVersion17使用Java版本,只有17一个选项
-DgroupIdcom.pig4cloud项目包名前缀 ,专属版本需要修改
-DartifactIddemo新增模块名称 ,不要带特殊字
-Dversion5.12.0项目版本号
-DarchetypeGroupIdcom.pig4cloud.archetype【固定值】,专属版本需要修改
-DarchetypeArtifactIdpigx-gen【固定值】,专属版本需要修改
-DarchetypeVersion5.12.0【固定值】,archetype版本
-DarchetypeCataloglocal【固定值】local

1.3 生成的项目结构如下

demo
  ├── README.md
  ├── demo-api     # api 模块主要存放 实体、feign 调用接口
  │   ├── pom.xml
  │   └── src
  ├── demo-biz    # biz 模块主要存放 controller、业务service、mapper
  │   ├── pom.xml
  │   └── src
  └── pom.xml

2. 创建库表

-- 创建测试库
create database `pigxx_demo` default character set utf8mb4 collate utf8mb4_general_ci;

USE pigxx_demo;

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- 创建测试表
DROP TABLE IF EXISTS `demo`;
CREATE TABLE `demo` (
  `id` bigint NOT NULL COMMENT '编号',
  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户名',
  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '密码',
  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '0' COMMENT '删除标记',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='demo 表';

3. 代码生成

3.1 数据源新增

jdbc:mysql://pigx-mysql:3306/pigxx_demo?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true
数据源配置界面

3.2 生成代码

包名和模块名

选择数据源生成代码时,请注意包名称和模块名称。

代码生成配置界面
  • 代码生成的包结构如下
├── demo_menu.sql # 新增模块对应的菜单 SQL ├── pigx # 后端代码包含增删改查代码 │   └── src └── pigx-ui # 前端代码包含页面 └── src

3.3 菜单维护

当代码生成基础信息中配置此功能的【所属菜单】时,会自动维护相关的菜单和按钮,不需要手动执行SQL脚本。

自动维护菜单配置

4. 配置动态路由

同步路由设置为自动创建,则会自动创建一条【/demo】的网关路由,存在则跳过,不需要手动维护。

自动创建路由配置

5. 角色分配权限

关键步骤

给角色分配权限(角色管理 > 权限)。在重新启动前端并重新登录后,请强制刷新浏览器,查看 demo 功能是否生效。

角色权限分配界面