📄 新增微服务完成 CRUD 👍
内部资料,请刷新扫码登录
pigcloud 2023/12/2
特别说明
- 此文档对应 📺 3.新增微服务完成 CRUD,若对文档内容不清晰,请多次观看视频。
- 请务必按照本文档的 包名 和 项目名 进行初始化,其他内容请了解 feign、mybatis 的包扫描规则。
- 根据上述文档生成初始化 demo 项目,如果使用 IDEA,请直接使用图形化界面;其他开发工具请使用 mvn 命令行。
- 生成 demo 项目时,请注意
archetype
和pigx
的版本需一致。

# 1. 使用 pigx archetype 初始化项目
# 1.1 编译 pigx 项目
cd pigx/
mvn clean install
# 1.2 执行 archetype 生成
- 特别注意: 在 pigx 根目录执行如下命令, Windows 可直接运行,请勿使用 PowerShell; Mac/Linux 中将 ^ 替换 \
mvn org.apache.maven.plugins:maven-archetype-plugin:3.1.0:generate ^
-Dproject=pigx ^
-DjavaVersion=17 ^
-DgroupId=com.pig4cloud ^
-DartifactId=demo ^
-Dversion=5.8.0 ^
-DarchetypeGroupId=com.pig4cloud.archetype ^
-DarchetypeArtifactId=pigx-gen ^
-DarchetypeVersion=5.8 ^
-DarchetypeCatalog=local
mvn org.apache.maven.plugins:maven-archetype-plugin:3.1.0:generate \
-Dproject=pigx \
-DjavaVersion=17 \
-DgroupId=com.pig4cloud \
-DartifactId=demo \
-Dversion=5.8.0 \
-DarchetypeGroupId=com.pig4cloud.archetype \
-DarchetypeArtifactId=pigx-gen \
-DarchetypeVersion=5.8 \
-DarchetypeCatalog=local
参数 | 值 | 备注 |
---|---|---|
-Dproject | pigx | 项目名称,专属版本需要修改 |
-DjavaVersion | 17 | 使用Java版本,只有8、17两个选项 |
-DgroupId | com.pig4cloud | 项目包名前缀 ,专属版本需要修改 |
-DartifactId | demo | 新增模块名称 |
-Dversion | 5.8.0 | 项目版本号 |
-DarchetypeGroupId | com.pig4cloud.archetype | 【固定值】,专属版本不需要修改 |
-DarchetypeArtifactId | pigx-gen | 【固定值】,专属版本不需要修改 |
-DarchetypeVersion | 5.8 | 【固定值】,archetype版本 |
-DarchetypeCatalog | local | 【固定值】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 菜单维护
执行代码生成包(3.2 中的 demo_menu.sql)中的 SQL 脚本(在 pigxx 数据库)。

- 当代码生成基础信息中配置此功能的【所属菜单】时,会自动维护相关的菜单和按钮,不需要手动执行SQL脚本。
# 4. 配置动态路由
- 同步路由: 手动添加

- 进入 "基础工具" > "路由管理",添加 demo-biz 对应的路由规则。

- 同步路由: 自动创建,则会自动创建一条【/demo】的网关路由,存在则跳过,不需要手动维护
# 5. 角色分配权限
最重要的一步:给角色分配权限(角色管理 > 权限)。在重新启动前端并重新登录后,请强制刷新浏览器,查看 demo 功能是否生效。