web入门案例-部门篇


开发流程
在这里插入图片描述

在这里插入图片描述
完成对应部门管理和员工管理的需求

准备工作

在这里插入图片描述
注意:service还要写接口+实体类,mapper只写接口即可,controller是实体类
对应的三个注解
@RestController(方法返回值作为响应值)
@Mapper(控制反转IOC,这个是建对应实现接口的类)
@Service(控制反转IOC)
在这里插入图片描述

开发规范

在这里插入图片描述

对应的接口文档
先学会这周末阅读接口文档
这就是接口文档中部门管理的第一个功能
在这里插入图片描述
在这里插入图片描述

Restful风格

前后端之间的请求基于Restful
Restful规定前后端之间的url以及对应请求方式对应的意义
url对应定位访问什么
请求方法对应具体操作
同样user post请求接收新增 put则是更改操作
在这里插入图片描述
在这里插入图片描述
注意:常用+s的

统一响应结果

在这里插入图片描述

web一些小规范

先看需求和页面原型
在这里插入图片描述
再到接口文档(规定对应请求路径,请求参数,请求方式和响应数据)和思路分析

在这里插入图片描述

日志对象

在这里插入图片描述

@Slf4j//这个注解就是替代我们的日志对象创建语句
@RestController
public class DeptController {
//    private static Logger log=LoggerFactory.getLogger(DeptController.class);//日志记录对象(固定代码)
    //想要在哪个类,就是getLogger(对应的类.class),so我们在对应类上用lombok的@SLf4j,会自动创建对应的log
    @Autowired
    private DeptServiceImpl deptService;
    @RequestMapping("/depts") //查询全部部门数据
    public Result list(){
    log.info("查询全部部门数据");

    return Result.success();
    }
}

log就是对应的日志对象
log.info可以在控制台输出你想输出的内容
可以原始的创建
不过推荐直接@Slf4j
会自动创建本类得到日志对象,名为log

指定请求方式和路径(用注解)

在这里插入图片描述

正常你如果只写
@RequestMapping("/depts")
方法
这样只能指定请求路径
不管什么请求方法都能进来
@RequestMapping(value = "/depts",method = RequestMethod.GET)
方法
这样的话指定了路径和请求方式,不过稍微有点麻烦
所以spring出来
@GetMappering("/depts")
@PostMappering("/depts")
还有很多请求方式如下图

在这里插入图片描述

查询全部部门

Deptcontroller

@Slf4j//这个注解就是替代我们的日志对象创建语句
@RestController
public class DeptController {
//    private static Logger log=LoggerFactory.getLogger(DeptController.class);//日志记录对象(固定代码)
    //想要在哪个类,就是getLogger(对应的类.class),so我们在对应类上用lombok的@SLf4j,会自动创建对应的log
    @Autowired
    private DeptService deptService;

    //    @RequestMapping(value = "/depts",method = RequestMethod.GET)

    @GetMapping("/depts")
    @PostMapping("/depts")
    public Result list(){
    log.info("查询全部部门数据");
    //调用service查询数据
    List<Dept> deptList=deptService.list();

    return Result.success(deptList);
    }
}

在这里插入图片描述

DeptService以及DeptServiceImpl

在这里插入图片描述
在这里插入图片描述

DeptMapper

在这里插入图片描述
简单的我直接用注解了,为什么dept爆红
就是idea的识别问题
只要你配置文件写对了就行
你也可以数据库进行连接就不爆红了
如图
在这里插入图片描述

postman结果

在这里插入图片描述

可以看到正确输出了
其实最后一步有个前后端联调,那个简单就不说了

几个注意

1.controller需要调用对应service的方法,来获取参数
2.我们这controllerDI(注入)的是service的接口类型

@Autowired
    private DeptService deptService;

而具体的方法实现在对应具体service类,而且对应的deptMapper也要对应方法
在这里插入图片描述
然后,这个具体类里面注入我们的Mapper接口
3.Mapper这种简单语句直接写注解即可,不用xml文件那么麻烦

删除部门

在这里插入图片描述
就这个需求
根据id删除部门
再看接口文档
delete请求方式 然后
在这里插入图片描述

路径参数

@PathVariable注解,用于这种路径参数,在对应参数进行标注

正常参数是get是那种?参数名=…&参数名=…
然后post是写在请求体中
在这里插入图片描述

controller+service+mapper

controller
在这里插入图片描述
service接口
在这里插入图片描述
service实体类
在这里插入图片描述

mapper
在这里插入图片描述

postman以及数据库结果

在这里插入图片描述
删除对应id为5的数据库了
在这里插入图片描述

新增部门

只写一个部门名称参数2-10位(service里判断)
在这里插入图片描述
在这里插入图片描述
注意我们传的参数是json
所以我们在要用对应的对象接收
还要写一个@RequestBody,来进行json和对应pojo的属性匹配

controller+service+mapper

controller
在这里插入图片描述
service接口
在这里插入图片描述
service实体类
在这里插入图片描述
mapper
在这里插入图片描述
postman
在这里插入图片描述
结果
在这里插入图片描述

注意

你mapper里面是实体参数
你可以直接用里面的属性
比如传参dept
sql语句可以直接#{id}这种(id是dept里面的属性)

注意传参是json格式的
json格式controller要用bean对象参数接收的话
需要加一个注解@RequestBody!!!

controller优化简化网页开发(@RestMappering)

在这里插入图片描述

三个注解对应的开头申请多少/depts
可以简化
用@RestMapping(“/depts”)来直接写到类上
这样的话是这样的路径不用写了,如果后面还有别的参数就@…Mapping(“/{id}”)

完整请求路径:类上的RequestMapping的value属性+方法上的RequestMapping的value属性

员工管理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小袁拒绝摆烂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值