1. 创建测试数据库及其表
注意表字段必须含有
create_time
create_by``update_time
update_by
字段,若表不包含则在生成实体代码去掉继承BaseEntity
-- 创建测试库
create database `pig_demo` default character set utf8mb4 collate utf8mb4_general_ci;
USE pig_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) DEFAULT NULL COMMENT '用户名',
`nicename` varchar(255) DEFAULT NULL COMMENT '昵称',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='demo 表';
2. 维护数据源 并代码生成
- 启动 PigCodeGenApplication 模块
- 开发平台 > 数据源管理 > 新增
jdbc:mysql://pig-mysql:3306/pig_demo?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
3. 代码生成
- 开发平台 > 代码生成
:::warning 选择数据源生成代码,注意包名称、模块名称 注意和archetype 一致 :::
4. 生成代码导入
4.1 后端代码 导入
:::info 将代码生成的demo/pig/src 移动到骨架工程生成 demo/demo-biz/src 合并 :::
4.2 前端代码 导入
:::info 将代码生成的demo/pig-ui/src 移动到原有pig-ui/src 合并 :::
4.3 菜单脚本执行
:::info 在 pig 库 执行菜单插入 :::
5. 检查 demo-biz
数据库配置信息
# spring security 配置
security:
oauth2:
client:
client-id: pig
client-secret: pig
scope: server
# 数据源配置
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
url: jdbc:mysql://pig-mysql:3306/pig_demo?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
6. 配置网关路由
[info]
nacos/pig-gateway-dev.yml
配置完毕注意重启网关
spring:
cloud:
gateway:
routes:
# demo模块
- id: pig-demo
uri: lb://demo-biz
predicates:
- Path=/demo/**
7. 执行代码生成包的SQL
:::info