第 6 章 SpringBootWeb 案例
准备工作
需求 & 环境搭建
- 准备数据库表( dept、emp )
- 创建 springboot 工程,引入对应的起步依赖( web、mybatis、mysql 驱动、lombok )
- 配置文件 application.properties 中引入 mybatis 的配置信息,准备对应的实体类
- 准备对应的 Mapper、Service(接口、实现类)、Controller 基础结构

开发规范
基于当前最为主流的前后端分离模式进行开发。
- 开发规范-Restful
- REST(REpresentational State Transfer),表述性状态转换,它是一种软件架构风格

注意事项:
- REST 是风格,是约定方式,约定不是规定,可以打破。
- 描述模块的功能通常使用复数,也就是加s的格式来描述,表示此类资源,而非单个资源。如:users、emps、books…
开发流程:

部门管理
查询部门
@Slf4j //添加控制台输出注解
log.info("查询全部部门数据");
// @RequestMapping(value = "/depts", method = RequestMethod.GET)
@GetMapping("/depts") // 等效注解
删除部门
@DeleteMapping
@PathVariable // 接收请求参数 id
新增部门
@PostMapping
@RequestBody // 将得到的 json 字符串封装为对象

注意事项:
- 一个完整的请求路径,应该是类上的
@RequestMapping的 value 属性 + 方法上的@RequestMapping的value属性。
员工管理
分页查询

public Result page(@RequestParam(defaultValue = "1") Integer page, Integer pageSize)
@RequestParam //给参数设置默认值
- 分页查询
- 请求参数:页码、每页展示记录数
- 响应结果:总记录数、结果列表 (PageBean)
- 注解:
@RequestParam(defaultValue="1") //设置请求参数默认值 - PageHelper 分页插件
- 配置依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.2</version>
</dependency>- 引入依赖:
pagehelper-spring-boot-starter - 使用:
PageHelper.startPage(pageNum, pageSize);
List<Emp> list = empMapper.list();
Page<Emp> page = (Page<Emp>)list;
条件分页查询
- 条件查询:动态SQL – XML映射文件
- 分页查询:PageHelper分页插件
- 时间模式设置
@DateTimeFormat(pattern = "yyyy-MM-dd")
删除员工

