本文在 //www.greatytc.com/p/d614ac030e7c 基础上制作示例
一、数据库及表结构准备
数据库名为:pigx_demo
二、启动代码生成模块
pigx-codegen,启动前需要在nacos里改pigx-codegen-dev.yml的数据库连接密码
三、生成代码
1)新增数据源
2)选择表生成代码
3)复制代码
将生成的代码解压后,复制 pigx\src\main\java\com\mycompany\mydemo下的customer到my-demo\src\main\java\com\mycompany\mydemo,然后再复制pigx\src\main\resources下的mapper到my-demo\src\main\resources
四、配置
1)pigx-demo-dev.yml 增加数据源,注意密码
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: ${MYSQL-USER:root}
password: ${MYSQL-PWD:123456}
url: jdbc:mysql://${MYSQL-HOST:pigx-mysql}:${MYSQL-PORT:3306}/${MYSQL-DB:pigx_demo}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true
2)MybatisPlusConfig增加com.mycompany.mydemo.**.mapper的扫描
在pigx-common-data模块的MybatisPlusConfig类中的MapperScan注解里增加包扫描
@MapperScan({"com.pig4cloud.pigx.**.mapper","com.mycompany.mydemo.**.mapper"})
3)检查pom文件
特别注意 模块的版本号一定要注释掉,不然在集成mybatis-plus时会报异常
Unsatisfied dependency expressed through field 'baseMapper'; nested exception
就算加上
<properties>
<pigx.version>3.0.0</pigx.version>
</properties>
然后在应用pigx公共类库时
<dependency>
<groupId>com.pig4cloud</groupId>
<artifactId>pigx-common-data</artifactId>
<version>${pigx.version}</version>
</dependency>
也会报错
4)配置模块菜单
在生成代码时,controller类的增删改加了权限,因此需要添加权限控制
在生成的代码目录里,打开customer_menu.sql,将:父菜单ID、菜单ID、子按钮ID1、子按钮ID2、子按钮ID3 改为相应的值(从pigxx数据库中sys_menu表里查询后去分配ID)
父菜单ID:是指”客户“这个模块挂在那一级菜单下,诸如-1
菜单ID:是指”客户“这个模块的ID,诸如10000
子按钮ID:是指增删改三个功能的ID,诸如10001
5)配置角色权限
启动nacos、gateway、auth、admin、my-demo,然后启动前端
在前端界面权限管理 -》角色管理配置权限
6)实体主键配置
生成的代码中,实体主键默认自增长,需要改为@TableId(value="Id",type=IdType.UUID)
五、测试
在swagger中测试