文章目录
第二部分
讲师管理模块
1、创建数据库
导入时error2错误
导入数据库文件 guli.sql (最好使用工具导入,工具会自动识别字符,若手动命令行source命令导入,注意error2错误)
error2错误解决方案:使用命令行dos 使用CD命令到sql文件的文件夹下 使用 source ./guli.sql命令即可。
注意其字符集使用utf8mb3,是某一个版本的utf-8的别称,我不知道这对之后的操作是否影响,因此卸载此文开头。
标的设计规范
https://max.book118.com/html/2022/0617/5300333334004242.shtm
2、项目结构
先创建父工程
父工程的作用:pom类型 管理依赖版本和存放公共依赖
然后在父工程下创建子模块,子模块下创建更小的模块
2.1、工程结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3vxJvkgi-1690788312460)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806150859675.png)]
工程说明:
guli-parent:在线教学根目录(父工程)管理四个子模块
canal-client:canal数据库同步模块(统计同步数据)
common:公共模块父节点
common-util:工具类模块,所有模块都可以依赖于它
service-base:service服务的base包,包含service服务的公共配置类,所有service的模块都依赖于它
spring-security:认证与授权模块,需要认证授权的service服务依赖于它
infrastructure:基础服务模块父节点
api-gateway:api网关服务
service:api接口服务父节点
service-aci:用户权限管理api接口服务(用户管理、角色管理和权限管理等)
service-cms:cms api接口服务
service-edu:教学相关api接口服务
service-msm:短信api接口服务
service-order:订单相关api接口服务
service-oss:阿里云oss api接口服务
service-statistics:统计报表api接口服务
service-ucenter:会员api接口服务
service-vod:视频点播api接口服务
3、创建父工程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AnD1kjl4-1690788312465)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806151916043.png)]
视频使用springBoot2.2.1版本,这里我就直接选择当前时间的稳定版本2.7.2(要注意第三方组件兼容问题)
文档时间 : 2022-8-6 15:20
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CMrIv7s3-1690788312470)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806152001704.png)]
创建完成
创建完成后若发现有文件名称显示为红色却没有任何报错,请尝试git提交
创建后在pom.xml文件中加入:
<artifactId>guli_parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
加入下面这一句
<packaging>pom</packaging>
<name>guli</name>
<description>guli</description>
删除dependencies标签及其子标签内的所有内容
将以下内容替换properties标签
<properties>
<java.version>1.8</java.version>
<oes.version>0.0.1-SNAPSHOT</oes.version>
<mybatis-plus.version>3.5.1</mybatis-plus.version>
<velocity.version>2.2</velocity.version>
<swagger.version>2.9.2</swagger.version>
<jodatime.version>2.10.1</jodatime.version>
<poi.version>3.17</poi.version>
<easyexcel.version>2.1.1</easyexcel.version>
<commons-fileupload.version>1.3.1</commons-fileupload.version>
<commons-io.version>2.6</commons-io.version>
<httpclient.version>4.5.1</httpclient.version>
<jwt.version>0.7.0</jwt.version>
<aliyun-java-sdk-core.version>4.3.3</aliyun-java-sdk-core.version>
<aliyun-sdk-oss.version>3.1.0</aliyun-sdk-oss.version>
<aliyun-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.version>
<aliyun-java-vod-upload.version>1.4.11</aliyun-java-vod-upload.version>
<aliyun-sdk-vod-upload.version>1.4.11</aliyun-sdk-vod-upload.version>
<fastjson.version>1.2.28</fastjson.version>
<gson.version>2.8.2</gson.version>
<json.version>20170516</json.version>
<commons-dbutils.version>1.7</commons-dbutils.version>
<canal.client.version>1.1.0</canal.client.version>
<docker.image.prefix>zx</docker.image.prefix>
<cloud-alibaba.version>0.2.2.RELEASE</cloud-alibaba.version>
<wxpay.version>0.0.3</wxpay.version>
<common-pool2.version>2.6.0</common-pool2.version>
</properties>
加入标签
如何查看自己当前的spring版本和选择对应的其他工具的依赖版本
1、https://blog.csdn.net/qq_42055933/article/details/125694893
2、官网查看reference Doc
https://spring.io/projects/spring-boot#learn
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BbPAb95p-1690788312475)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806165019527.png)]
视频使用的springCloud版本是Hoxton,我们查看官网后可以发现Hoxton版本支持的SpringBoot的版本为
2.2.x, 2.3.x (Starting with SR5)
所以我们还是跟着项目的2.2.1版本为好,
如果要使用目前的2.7.2版本,我们需要将SpringCloud的版本设置为2021.0.x aka Jubilee
主要支持如下图:
https://spring.io/projects/spring-cloud
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e1VZRpEH-1690788312480)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806160623363.png)]
<dependencyManagement>
<dependencies>
<!--Spring Cloud-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--mybatis-plus 持久层-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- mybatis-plus generator -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<!--swagger ui-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<!--日期时间工具-->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${jodatime.version}</version>
</dependency>
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<!--xlsx-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!--阿里巴巴的easy excel工具-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>${easyexcel.version}</version>
</dependency>
<!--文件上传-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
</dependency>
<!--commons-io-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<!--httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<!-- JWT -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!--aliyun-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>${aliyun-java-sdk-core.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>${aliyun-sdk-oss.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
<version>${aliyun-java-sdk-vod.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-vod-upload</artifactId>
<version>${aliyun-java-vod-upload.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-sdk-vod-upload</artifactId>
<version>${aliyun-sdk-vod-upload.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>${json.version}</version>
</dependency>
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>${commons-dbutils.version}</version>
</dependency>
<!--阿里巴巴canal-->
<dependency>
<groupId>com.alibaba.otter</groupId>
<artifactId>canal.client</artifactId>
<version>${canal.client.version}</version>
</dependency>
<!--微信支付接口-->
<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>${wxpay.version}</version>
</dependency>
<!-- spring2.X集成redis所需common-pool2-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>${commons-pool2.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
删除父工程的src目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JksSYf10-1690788312485)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806153906463.png)]
4、初始化子模组
service子模组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yyH6O7fk-1690788312489)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806162139978.png)]
modle选择新建一个Maven项目
注意,这里选择的是maven项目,而不是spring项目,虽然spring也是一个maven项目,但是创建后需要修改pom文件,所以不太建议去修改pom依赖
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AZkN6vq8-1690788312494)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806165207476.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W5T8GVTS-1690788312499)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806162249414.png)]
com.guli
创建完成之后,我们只是在父模块声明了模块的版本,并没有使用依赖,我们需要在子组件中使用这些以依赖
<parent>
<groupId>com.guli</groupId>
<artifactId>guli_parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
注意:要记得在子模块中声明父模块是谁
在子模块中使用依赖:
<dependencies>
注释掉前四个,后面才会用
<!-- 引入service_base -->
<!-- <dependency>-->
<!-- <groupId>com.zh.oes</groupId>-->
<!-- <artifactId>service_base</artifactId>-->
<!-- <version>0.0.1-SNAPSHOT</version>-->
<!-- </dependency>-->
<!-- ribbon依赖 -->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>-->
<!-- </dependency>-->
<!-- <!– hystrix依赖,主要是用 @HystrixCommand –>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>-->
<!-- </dependency>-->
<!-- <!– 服务注册 –>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
<!-- </dependency>-->
<!-- <!– 服务调用 –>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-openfeign</artifactId>-->
<!-- </dependency>-->
<!-- spring boot web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!-- mybatis-plus代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
</dependency>
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<!-- lombok用来简化实体类:需要安装lombok插件 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- 文件上传 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
<!-- gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
添加完成之后
记得点一下右上角Maven的刷新,重新再入一下依赖的版本
service-edu子模组
之后我们再将service中的src删除,准备创建第一个讲师管理的模块service-edu
需要确定是在service之下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyssZ5f7-1690788312503)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806171938576.png)]
然后选择父对象
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-snd1q2IS-1690788312508)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806172332273.png)]
要确认guli_parent的pom文件下是不是有多余的,删除
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QDVeKXnA-1690788312512)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806172035523.png)]
由于操作不当,可能会多次创建service这个项目,而IDEA会认为这个POM文件时删除时未删除完全的,(因为项目名称一样)所以会将该POM文件无视,如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CGPNFrXk-1690788312517)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806172806639.png)]
我们需要到
点击File-》Settings-》Build,Execution…-》Build Tools-》Maven-》Ignored Files 。将右边选中内容取消勾选然后Apply
重启项目即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i40T9ZkY-1690788312522)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806172901090.png)]
在service_edu项目中创建application.properties文件
然后在配置文件中写入:
#服务端口
server.port=8001
#服务名称
spring.application.name=service-edu
#环境设置:dev、test、prod(生产)
spring.profiles.active=dev
#mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/guli?serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=li1473606768
#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
编写controller、service、mapper
5、代码生成器
1、引入依赖
(service.pom文件中已经引入)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X1pCTlDS-1690788312527)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806173903785.png)]
注意自己的版本与mybatis-plus中的差异:https://baomidou.com/pages/779a6e/
例如我这里的MP是3.5.1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4vBDdgx4-1690788312531)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806174320718.png)]
根据官网上的提示,我们需要安装新的一个依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
由于我们的MP(mybatis-plus)是3.5.1的版本,所以我们需要阅读官方文档来进行配置
3.4 和 3.5 版本差别太大
https://baomidou.com/pages/779a6e/#%E5%AE%89%E8%A3%85
然后我们需要在一个可以自己启动的方法中写入mybatis为我们准备好的配置方法(类似于main方法或者是@test)
这里我们选择@Test来实现,在test文件下新建一个文件,然后在里面写入以下内容:
package testUtils;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.po.LikeTable;
import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler;
import org.junit.Test;
import java.util.Collections;
/**
* className: CodeGenerator<br/>
* author: MacieSerenity <br/>
* date: 2022-08-06 17:40
**/
public class CodeGenerator {
/**
* 全局配置
*/
public static String DB_USER="root";
public static String DB_PASSWORD="li1473606768";
public static String DB_URL="jdbc:mysql://127.0.0.1:3306/guli?serverTimezone=GMT";
/**
* 数据源配置 <br/>
* 报Communications link failure错误的,在url 后面加上 &useSSL=false,
*/
public static String PROJECT_DIR=System.getProperty("user.dir");
public static String OUT_PUT_DIR="/src/main/java";
public static String AUTHOR="MacieSerenity";
public static String DATE_FORMAT="yyyy-MM-dd HH:mm:ss";
/**
* 包配置
*/
public static String PARENT_PACKAGE_NAME="com.edu";
public static String PARENT_MODULE_NAME="edu_service";
public static String ENTITY_PACKAGE_NAME="entity";
public static String SERVICE_PACKAGE_NAME="service";
public static String SERVICE_IMPL_PACKAGE_NAME="service.impl";
public static String MAPPER_PACKAGE_NAME="mapper";
public static String XML_FOLDER_NAME="";
public static String CONTROLLER_PACKAGE_NAME="controller";
public static String OTHER_CONFIG="";
public static String PATH_INFO="";
/**
* 策略配置
*/
public static String TABLE_PREFIX="edu_";
@Test
public void gennerator(){
//数据源配置
DataSourceConfig.Builder dataSourceConfig=new DataSourceConfig.Builder(DB_URL,DB_USER,DB_PASSWORD)
//数据库查询
.dbQuery(new MySqlQuery())
//数据库类型转换器
.typeConvert(new MySqlTypeConvert())
//数据库关键字处理器
.keyWordsHandler(new MySqlKeyWordsHandler());
//快速生成器
FastAutoGenerator.create(dataSourceConfig)
//全局配置
.globalConfig(builder -> {
//重新生成文件时是否覆盖
builder.fileOverride()
//输出文件夹的位置
.outputDir(PROJECT_DIR+OUT_PUT_DIR)
//作者
.author(AUTHOR)
.enableKotlin()
.enableSwagger()
.dateType(DateType.TIME_PACK)
.commentDate(DATE_FORMAT);
})
.packageConfig(builder -> {
//父包名 默认值:com.baomidou
builder.parent(PARENT_PACKAGE_NAME)
//父包模块名
.moduleName(PARENT_MODULE_NAME)
//Entity 包名 默认值:entity
.entity(ENTITY_PACKAGE_NAME)
//Service 包名 默认值:service
.service(SERVICE_PACKAGE_NAME)
//Service Impl 包名 默认值:service.impl
.serviceImpl(SERVICE_IMPL_PACKAGE_NAME)
//Mapper 包名 默认值:mapper
.mapper(MAPPER_PACKAGE_NAME)
//Mapper XML 包名 默认值:mapper.xml
//.xml(XML_FOLDER_NAME)
//Controller 包名 默认值:controller
.controller(CONTROLLER_PACKAGE_NAME)
//自定义文件包名,输出自定义文件时所用到的包名
//.other(OTHER_CONFIG)
//路径配置信息
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://"))
.build();
})
//策略配置
.strategyConfig(builder -> {
//开启大写命名
builder.enableCapitalMode()
//开启跳过视图
.enableSkipView()
//禁用 sql 过滤
.disableSqlFilter()
//模糊表匹配(sql 过滤)
.likeTable(new LikeTable("USER"))
//增加表匹配(内存过滤)
.addInclude("edu_teacher")
//增加过滤表前缀,指定后,在生成文件时,
// 模板会自动截取掉前缀字符,如表名为sys_user,
// 指定前缀为sys_,生成实体是自动识别生成为user
.addTablePrefix(TABLE_PREFIX);
//增加过滤字段后缀
//.addFieldSuffix("_flag")
}).execute();
}
}
6、配置Controller
类自动生成之后,把原本的@Controller注解改为@RestController
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3EqA0jFl-1690788312536)(%E8%B0%B7%E7%B2%92%E5%AD%A6%E9%99%A2-%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86.assets/image-20220806200735057.png)]