📄 新增微服务完成 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
Copied!
# 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.7.0 ^ -DarchetypeGroupId=com.pig4cloud.archetype ^ -DarchetypeArtifactId=pigx-gen ^ -DarchetypeVersion=5.7.0 ^ -DarchetypeCatalog=local
Copied!
mvn org.apache.maven.plugins:maven-archetype-plugin:3.1.0:generate \ -Dproject=pigx \ -DjavaVersion=17 \ -DgroupId=com.pig4cloud \ -DartifactId=demo \ -Dversion=5.7.0 \ -DarchetypeGroupId=com.pig4cloud.archetype \ -DarchetypeArtifactId=pigx-gen \ -DarchetypeVersion=5.7.0 \ -DarchetypeCatalog=local
Copied!
参数 | 值 | 备注 |
---|---|---|
-Dproject | pigx | 项目名称,专属版本需要修改 |
-DjavaVersion | 17 | 使用Java版本,只有8、17两个选项 |
-DgroupId | com.pig4cloud | 项目包名前缀 ,专属版本需要修改 |
-DartifactId | demo | 新增模块名称 |
-Dversion | 5.7.0 | 项目版本号 |
-DarchetypeGroupId | com.pig4cloud.archetype | 【固定值】,专属版本不需要修改 |
-DarchetypeArtifactId | pigx-gen | 【固定值】,专属版本不需要修改 |
-DarchetypeVersion | 5.7.0 | 【固定值】,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
Copied!
# 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 表';
Copied!
# 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
Copied!
# 3.2 生成代码
选择数据源生成代码时,请注意包名称和模块名称。
- 代码生成的包结构如下
├── demo_menu.sql # 新增模块对应的菜单 SQL ├── pigx # 后端代码包含增删改查代码 │ └── src └── pigx-ui # 前端代码包含页面 └── src
Copied!
# 3.3 菜单维护
执行代码生成包(3.2 中的 demo_menu.sql)中的 SQL 脚本(在 pigxx 数据库)。
- 当代码生成基础信息中配置此功能的【所属菜单】时,会自动维护相关的菜单和按钮,不需要手动执行SQL脚本。
# 4. 配置动态路由
- 同步路由: 手动添加
- 进入 "基础工具" > "路由管理",添加 demo-biz 对应的路由规则。
- 同步路由: 自动创建,则会自动创建一条【/demo】的网关路由,存在则跳过,不需要手动维护
# 5. 角色分配权限
最重要的一步:给角色分配权限(角色管理 > 权限)。在重新启动前端并重新登录后,请强制刷新浏览器,查看 demo 功能是否生效。