目录
做的什么模块?
整个项目分为两大部分:前台部分、后台部分
前台部分:为用户使用部分,可以进行视频的购买与学习。
后台部分:为管理操作部分,进行视频上传与维护。
本课程主要完成的是后台部分。
用到什么技术?
后端:SpringCloud alibaba核心组件Nacos+SSM+mybatis-plus+swagger-ui+POI+Redis + JavaMail +RabbitMQ+EasyExcel.....
前端:Vue全家桶:Vue+Vue-Router+Vuex+SPA + element ui admin

前后端分离开发:
解耦
后端和前端完全分离,并且后台接口可以供给多端使用!(APP,微信,PC,WAP)(Restful风格的接口可以给任何应用去使用)

zx_edu_course:课程相关的库
zx_edu_teacher:老师板块相关的库
zx_edu_user:登录用户相关的库
zx_edu_vod:视频相关的库

本章主要记录学习中:老师后端的增删改查(用到了该表)

项目结构图:

在pom.xml中导入依赖
- "1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0modelVersion>
-
- <groupId>com.czxy.zxgroupId>
- <artifactId>zx_parent_practiseartifactId>
- <packaging>pompackaging>
- <version>1.0-SNAPSHOTversion>
- <modules>
- <module>zx_common_practisemodule>
- <module>zx_domain_practisemodule>
- <module>zx_gatewaymodule>
- <module>zx_service_teachermodule>
- modules>
-
- <properties>
- <maven.compiler.source>8maven.compiler.source>
- <maven.compiler.target>8maven.compiler.target>
- <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
- <java.version>1.8java.version>
- <spring-cloud-release.version>Hoxton.SR3spring-cloud-release.version>
- <nacos.version>1.1.0nacos.version>
- <alibaba.cloud.version>2.2.1.RELEASEalibaba.cloud.version>
- <mysql.version>5.1.32mysql.version>
- <mybatis.plus.version>3.4.0mybatis.plus.version>
- <druid.starter.version>1.1.9druid.starter.version>
- <jwt.jjwt.version>0.9.0jwt.jjwt.version>
- <jwt.joda.version>2.9.7jwt.joda.version>
- <swagger.version>2.7.0swagger.version>
- <swagger.anno.version>1.5.13swagger.anno.version>
- <beanutils.version>1.9.3beanutils.version>
- <aliyun.sdk.core.version>3.3.1aliyun.sdk.core.version>
- <aliyun.sdk.dysmsapi.version>1.0.0aliyun.sdk.dysmsapi.version>
- <fastjson.version>1.2.9fastjson.version>
- <zx.version>1.0-SNAPSHOTzx.version>
- properties>
-
- <parent>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-parentartifactId>
- <version>2.2.5.RELEASEversion>
- parent>
-
- <dependencyManagement>
- <dependencies>
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-dependenciesartifactId>
- <version>${spring-cloud-release.version}version>
- <type>pomtype>
- <scope>importscope>
- dependency>
-
- <dependency>
- <groupId>com.alibaba.nacosgroupId>
- <artifactId>nacos-clientartifactId>
- <version>${nacos.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
- <version>${alibaba.cloud.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
- <version>${alibaba.cloud.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-sentinelartifactId>
- <version>${alibaba.cloud.version}version>
- dependency>
-
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-seataartifactId>
- <version>${alibaba.cloud.version}version>
- dependency>
-
-
-
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-boot-starterartifactId>
- <version>${mybatis.plus.version}version>
- dependency>
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-annotationartifactId>
- <version>${mybatis.plus.version}version>
- dependency>
-
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>${mysql.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>druid-spring-boot-starterartifactId>
- <version>${druid.starter.version}version>
- dependency>
-
-
- <dependency>
- <groupId>io.springfoxgroupId>
- <artifactId>springfox-swagger2artifactId>
- <version>${swagger.version}version>
- dependency>
- <dependency>
- <groupId>io.springfoxgroupId>
- <artifactId>springfox-swagger-uiartifactId>
- <version>${swagger.version}version>
- dependency>
- <dependency>
- <groupId>io.swaggergroupId>
- <artifactId>swagger-annotationsartifactId>
- <version>${swagger.anno.version}version>
- dependency>
-
-
-
- <dependency>
- <groupId>commons-beanutilsgroupId>
- <artifactId>commons-beanutilsartifactId>
- <version>${beanutils.version}version>
- dependency>
-
-
- <dependency>
- <groupId>io.jsonwebtokengroupId>
- <artifactId>jjwtartifactId>
- <version>${jwt.jjwt.version}version>
- dependency>
-
-
- <dependency>
- <groupId>joda-timegroupId>
- <artifactId>joda-timeartifactId>
- <version>${jwt.joda.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.aliyuncsgroupId>
- <artifactId>aliyun-java-sdk-coreartifactId>
- <version>${aliyun.sdk.core.version}version>
- dependency>
- <dependency>
- <groupId>com.aliyuncs.dysmsapigroupId>
- <artifactId>aliyun-java-sdk-dysmsapiartifactId>
- <version>${aliyun.sdk.dysmsapi.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>fastjsonartifactId>
- <version>${fastjson.version}version>
- dependency>
-
- <dependency>
- <groupId>com.czxy.zxgroupId>
- <artifactId>zx_common_practiseartifactId>
- <version>${zx.version}version>
- dependency>
- <dependency>
- <groupId>com.czxy.zxgroupId>
- <artifactId>zx_domain_practiseartifactId>
- <version>${zx.version}version>
- dependency>
-
- dependencies>
-
- dependencyManagement>
- project>

在pom.xml文件中导入依赖
- <dependencies>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- dependency>
-
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- dependency>
-
- <dependency>
- <groupId>io.springfoxgroupId>
- <artifactId>springfox-swagger2artifactId>
- dependency>
- <dependency>
- <groupId>io.springfoxgroupId>
- <artifactId>springfox-swagger-uiartifactId>
- dependency>
-
- <dependency>
- <groupId>io.jsonwebtokengroupId>
- <artifactId>jjwtartifactId>
- dependency>
-
- <dependency>
- <groupId>joda-timegroupId>
- <artifactId>joda-timeartifactId>
- dependency>
-
- <dependency>
- <groupId>commons-beanutilsgroupId>
- <artifactId>commons-beanutilsartifactId>
- dependency>
-
- <dependency>
- <groupId>com.aliyungroupId>
- <artifactId>aliyun-java-sdk-coreartifactId>
- <version>4.5.1version>
- dependency>
- <dependency>
- <groupId>com.aliyun.ossgroupId>
- <artifactId>aliyun-sdk-ossartifactId>
- <version>3.10.2version>
- dependency>
- <dependency>
- <groupId>com.aliyungroupId>
- <artifactId>aliyun-java-sdk-vodartifactId>
- <version>2.15.11version>
- dependency>
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>fastjsonartifactId>
- <version>1.2.28version>
- dependency>
- <dependency>
- <groupId>org.jsongroupId>
- <artifactId>jsonartifactId>
- <version>20170516version>
- dependency>
- <dependency>
- <groupId>com.google.code.gsongroupId>
- <artifactId>gsonartifactId>
- <version>2.8.2version>
- dependency>
-
- <dependency>
- <groupId>com.aliyungroupId>
- <artifactId>aliyun-sdk-vod-uploadartifactId>
- <version>1.4.13version>
- dependency>
- dependencies>
导入通用的配置文件:异常,验证码动图,结果封装,邮件,视频工具类等等


依赖:
- <dependencies>
-
- <dependency>
- <groupId>io.swaggergroupId>
- <artifactId>swagger-annotationsartifactId>
- <version>1.5.13version>
- dependency>
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-jsonartifactId>
- dependency>
-
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-annotationartifactId>
- dependency>
- dependencies>

依赖:
- <dependencies>
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-gatewayartifactId>
- dependency>
-
-
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
- dependency>
-
- dependencies>
application.yml:在yml文件中配置一下网关,目的访问其他服务,统一经过网关进行访问
端口:10010
- #端口号
- server:
- port: 10010
- spring:
- application:
- name: zx-gateway
- servlet:
- multipart:
- max-file-size: 2MB #上传文件的大小
- cloud:
- nacos:
- discovery:
- server-addr: 127.0.0.1:8848 #nacos服务地址
- gateway:
- discovery:
- locator:
- enabled: true #开启服务注册和发现的功能,自动创建router以服务名开头的请求路径转发到对应的服务
- lowerCaseServiceId: true #将请求路径上的服务名配置为小写
- sc:
- jwt:
- secret: sc@Login(Auth}*^31)&czxy% # 登录校验的密钥
- pubKeyPath: D:/rsa/rsa.pub # 公钥地址
- priKeyPath: D:/rsa/rsa.pri # 私钥地址
- expire: 360 # 过期时间,单位分钟
- filter:
- allowPaths:
- - swagger
- - /api-docs
- - /user/login
- - /user/info
- - /user/register
- - /user/sendemail
- - /user/active
- - /verifycode
导入跨域处理类:前端访问后端时会出现跨域的错误,该配置类进行处理

- @Configuration
- public class GlobalCorsConfig {
-
- @Bean
- public WebFilter corsFilter2() {
- return (ServerWebExchange ctx, WebFilterChain chain) -> {
- ServerHttpRequest request = ctx.getRequest();
- if (CorsUtils.isCorsRequest(request)) {
- HttpHeaders requestHeaders = request.getHeaders();
- ServerHttpResponse response = ctx.getResponse();
- HttpMethod requestMethod = requestHeaders.getAccessControlRequestMethod();
- HttpHeaders headers = response.getHeaders();
- headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, requestHeaders.getOrigin());
- headers.addAll(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS,
- requestHeaders.getAccessControlRequestHeaders());
- if (requestMethod != null) {
- headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, requestMethod.name());
- }
- headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
- headers.add(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "*");
- if (request.getMethod() == HttpMethod.OPTIONS) {
- response.setStatusCode(HttpStatus.OK);
- return Mono.empty();
- }
- }
- return chain.filter(ctx);
- };
- }
-
配置网关:启动类
-
- @SpringBootApplication
- //配置服务发现
- @EnableDiscoveryClient
- public class GatewayApplication {
- public static void main(String[] args) {
- SpringApplication.run(GatewayApplication.class,args);
- }
- }
老师服务:今天主要的老师服务后端的增删改查

导入依赖
- <dependencies>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- dependency>
-
- <dependency>
- <groupId>com.alibaba.nacosgroupId>
- <artifactId>nacos-clientartifactId>
- dependency>
-
-
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
- dependency>
-
-
- <dependency>
- <groupId>io.springfoxgroupId>
- <artifactId>springfox-swagger2artifactId>
- dependency>
- <dependency>
- <groupId>io.springfoxgroupId>
- <artifactId>springfox-swagger-uiartifactId>
- dependency>
-
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-openfeignartifactId>
- dependency>
-
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-testartifactId>
- dependency>
-
-
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-boot-starterartifactId>
- <version>${mybatis.plus.version}version>
- dependency>
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- dependency>
-
- <dependency>
- <groupId>com.czxy.zxgroupId>
- <artifactId>zx_common_practiseartifactId>
- dependency>
- <dependency>
- <groupId>com.czxy.zxgroupId>
- <artifactId>zx_domain_practiseartifactId>
- dependency>
-
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-data-redisartifactId>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-mailartifactId>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-amqpartifactId>
- dependency>
-
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>fastjsonartifactId>
- dependency>
-
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-devtoolsartifactId>
- <optional>trueoptional>
- dependency>
-
- dependencies>
配置application.yml
# 服务端口号
server:
port: 9999
# 服务名
spring:
application:
name: teacher-service
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/zx_edu_teacher?useUnicode=true&characterEncoding=utf8
username: root
password: root
druid: #druid 连接池配置
initial-size: 1 #初始化连接池大小
min-idle: 1 #最小连接数
max-active: 20 #最大连接数
test-on-borrow: true #获取连接时候验证,会影响性能
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #nacos服务地址
redis:
database: 0 #数据库索引,取值0-15,表示16个库可选择
host: 127.0.0.1 #服务器地址
port: 6379 #服务器连接端口号
mail:
host: smtp.126.com #发送邮件服务器
username: itcast_lt@126.com #账号
password: 1qaz2wsx #密码
default-encoding: UTF-8 #默认编码时
rabbitmq:
host: 127.0.0.1
port: 5672
username: guest
password: guest
virtualHost: /
devtools:
restart:
enabled: true #设置开启热部署
additional-paths: src/main/java #重启目录
exclude: WEB-INF/**
freemarker:
cache: false #页面不加载缓存,修改即时生效
#开启log4j打印SQL语句
logging:
level:
com:
czxy:
zx:
teacher:
mapper: debug
# mp日志打印
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
logic-delete-value: 1
logic-not-delete-value: 0
配置老师启动类:
- @SpringBootApplication
- @EnableDiscoveryClient
- @EnableFeignClients
- public class TeacherApplication {
- public static void main(String[] args) {
- SpringApplication.run(TeacherApplication.class,args);
- }
- }
@SpringBootApplication:来标注一个主程序类,说明这是一个Spring Boot应用
@EnableDiscoveryClient:配置服务发现
@EnableFeignClients:配置远程调用Feign
老师:JavaBean
- @Data//lombok注解
- @ApiModel(value = "EduTeacher对象",description = "讲师")//swagger注解
- public class EduTeacher {
-
- @TableId(value = "id",type = IdType.AUTO)//mybatis-plus的注解
- @ApiModelProperty(value = "讲师ID")//swagger注解
- private String id;
- @ApiModelProperty(value = "讲师姓名")
- private String name;
- @ApiModelProperty(value = "讲师资历,一句话说明讲师")
- private String intro;
- @ApiModelProperty(value = "讲师简介")
- private String career;
- @ApiModelProperty(value = "头衔 1高级讲师 2首席讲师")
- private Integer level;
- @ApiModelProperty(value = "讲师头像")
- private String avatar;
- @ApiModelProperty(value = "讲师排序")
- private Integer sort;
- @ApiModelProperty(value = "逻辑删除 1已删除, 0未删除")
- @TableField(value = "is_deleted",fill = FieldFill.INSERT)
- @TableLogic//逻辑删除
- private Integer isDeleted;
- @ApiModelProperty(value = "创建时间")
- @TableField(value = "gmt_create",fill = FieldFill.INSERT)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
- private Date gmtCreate;
- @ApiModelProperty(value = "更新时间")
- @TableField(value = "gmt_modified",fill = FieldFill.INSERT_UPDATE)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
- private Date gmtModified;
-
- }
- @Mapper
- public interface TeacherMapper extends BaseMapper
{ - }
接口:
- public interface EduTeacherService extends IService
{ - Page
condition(TeacherVo teacherVo, Integer current, Integer size); - }
实现类:
- @Service
- //开启事务管理
- @Transactional
- public class EduTeacherServiceImpl extends ServiceImpl
implements EduTeacherService { -
- @Override
- public Page
condition(TeacherVo teacherVo, Integer current, Integer size) { - //创建条件
- QueryWrapper
eduTeacherQueryWrapper = new QueryWrapper<>(); - if (StringUtils.isNotBlank(teacherVo.getName())){
- eduTeacherQueryWrapper.like("name",teacherVo.getName());
- }
- if (StringUtils.isNotBlank(teacherVo.getLevel())){
- eduTeacherQueryWrapper.eq("level",teacherVo.getLevel());
- }
- if (StringUtils.isNotBlank(teacherVo.getBeginDate())){
- eduTeacherQueryWrapper.ge("gmt_create",teacherVo.getBeginDate()+"00:00:00");
- }
- if (StringUtils.isNotBlank(teacherVo.getEndDate())){
- eduTeacherQueryWrapper.le("gmt_create",teacherVo.getEndDate()+"00:00:00");
- }
- //分页
- Page
eduTeacherPage = new Page<>(current, size); - //查询
- baseMapper.selectPage(eduTeacherPage,eduTeacherQueryWrapper);
- return eduTeacherPage;
- }
- }


一个是进行swagger测试的配置类
一个是进行Mybatispus分页插件的配置类
配置网关就通过:网关访问服务的方式进行访问swagger.ui.html
通过网关访问的地址:http://localhost:10010/teacher-service/swagger-ui.html#/

咱们再看一下直接访问老师服务地址:http://localhost:9999/swagger-ui.html
两种都可以进行访问
- @DeleteMapping("/{teacherid}")
- @ApiOperation(value = "通过id删除老师")
- public BaseResult deleteByid(@PathVariable("teacherid")Integer teacherid){
- boolean flag = eduTeacherService.removeById(teacherid);
- if (flag){
- return BaseResult.ok("删除成功");
- }else {
- return BaseResult.error("删除失败");
- }
- }
该注解在老师JavaBean中进行配置:
- @ApiModelProperty(value = "逻辑删除 1已删除, 0未删除")
- //这个注解属于swagger:用来标识
- @TableField(value = "is_deleted",fill = FieldFill.INSERT)
- //用来进行填充默认数据
- @TableLogic//逻辑删除
- private Integer isDeleted;
-
- @Component
- public class TeacherMetaObjectHandler implements MetaObjectHandler {
- @Override
- public void insertFill(MetaObject metaObject) {
- // 添加-自动填充数据
- setFieldValByName("isDeleted", 0, metaObject);
- // 添加时间、修改时间
- setFieldValByName("gmtCreate", new Date(), metaObject);
- setFieldValByName("gmtModified", new Date(), metaObject);
- }
-
- @Override
- public void updateFill(MetaObject metaObject) {
- // 修改时间
- setFieldValByName("gmtModified", new Date(), metaObject);
- }
- }
# mp日志打印 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: logic-delete-value: 1 #删除数据库中对应列的值为1 logic-not-delete-value: 0#不删除数据库中对应的列值为0

删除id为10的土豆


成功删除,查看一下数据库数据

这个条件查询和分页还是挺重要的
- @ApiOperation("条件查询老师")
- @PostMapping("/condition/{current}/{size}")
- public BaseResult condition(@RequestBody TeacherVo teacherVo,Integer current,Integer size){
- Page
condition = eduTeacherService.condition(teacherVo, current, size); - if (condition!=null){
- return BaseResult.ok("查询成功",condition.getRecords());
- }else {
- return BaseResult.error("查询失败");
- }
- }
- @Service
- //开启事务管理
- @Transactional
- public class EduTeacherServiceImpl extends ServiceImpl
implements EduTeacherService { -
- @Override
- public Page
condition(TeacherVo teacherVo, Integer current, Integer size) { - //创建条件
- QueryWrapper
eduTeacherQueryWrapper = new QueryWrapper<>(); - if (StringUtils.isNotBlank(teacherVo.getName())){
- eduTeacherQueryWrapper.like("name",teacherVo.getName());
- }
- if (StringUtils.isNotBlank(teacherVo.getLevel())){
- eduTeacherQueryWrapper.eq("level",teacherVo.getLevel());
- }
- if (StringUtils.isNotBlank(teacherVo.getBeginDate())){
- eduTeacherQueryWrapper.ge("gmt_create",teacherVo.getBeginDate()+"00:00:00");
- }
- if (StringUtils.isNotBlank(teacherVo.getEndDate())){
- eduTeacherQueryWrapper.le("gmt_create",teacherVo.getEndDate()+"00:00:00");
- }
- //分页
- Page
eduTeacherPage = new Page<>(current, size); - //查询
- baseMapper.selectPage(eduTeacherPage,eduTeacherQueryWrapper);
- return eduTeacherPage;
- }

配置类上面已经给出
- @ApiOperation("添加老师")
- @PostMapping
- public BaseResult addteacher(@RequestBody EduTeacher eduTeacher){
- boolean flag = eduTeacherService.save(eduTeacher);
- if (flag){
- return BaseResult.ok("添加成功");
- }else {
- return BaseResult.error("添加失败");
- }
- }
- @PutMapping
- @ApiOperation(value = "修改老师")
- public BaseResult updateteacher(@RequestBody EduTeacher eduTeacher){
- boolean flag = eduTeacherService.updateById(eduTeacher);
- if (flag){
- return BaseResult.ok("修改成功");
- }else {
- return BaseResult.error("修改失败");
- }
- }
- @DeleteMapping("/{teacherid}")
- @ApiOperation(value = "通过id删除老师")
- public BaseResult deleteByid(@PathVariable("teacherid")Integer teacherid){
- boolean flag = eduTeacherService.removeById(teacherid);
- if (flag){
- return BaseResult.ok("删除成功");
- }else {
- return BaseResult.error("删除失败");
- }
- }
- @GetMapping("/{teacherid}")
- @ApiOperation("通过id查询老师详情")
- public BaseResult selectByid(@PathVariable("teacherid") Integer teacherid){
- EduTeacher eduTeacher = eduTeacherService.getById(teacherid);
- if (eduTeacher!=null){
- return BaseResult.ok("查询成功",eduTeacher);
- }else {
- return BaseResult.error("查询失败");
- }
- }
- @PostMapping("/batchdelete")
- @ApiOperation("批量删除老师")
- public BaseResult batchdelete(@RequestBody List
ids) { - boolean flag = eduTeacherService.removeByIds(ids);
- if (flag){
- return BaseResult.ok("批量删除成功");
- }else {
- return BaseResult.error("批量删除失败");
- }
- }
主要功能:条件和分页查询,其余的功能都是通过MybatisPlus中的通用Service进行调用方法,以用来达到功能的实现
BaseRsult工具类:用来封装数据进行返回

GlobalCorsConfig配置类:用来处理跨域

TeacherMetaObjectHandler:对信息进行处理,该老师服务中应用了。例如:每条数据的创建时间和修改时间。