文章目录
一、准备阶段
- 准备数据表
- 创建spring工程,引入对应的依赖(web起步依赖、mybatis框架依赖、mysql驱动依赖、Lombok工具包依赖)
- 配置propertis文件(数据库连接四要素、开启自动映射…)
- 准备对应的实体类、controller类、service(接口、实现类)、mapper类的基本结构
-
依赖
-
配置propertis文件
-
员工实体类
-
设置统一响应数据格式
-
controller类
-
service接口类
-
service接口实现类
-
mapper 类
-
Xml文件
-
根据接口文档编辑相对应的代码逻辑
二、部分注解
注解 | 作用 |
---|---|
@RequestParam(defaultValue=“”) | 设置默认值 |
@DateTimeFormat(pattern = " ") | 设置日期格式 @DateTimeFormat(pattern = “yyyy-MM-dd”) |
@RequestMapping(value = “路径”,method = 请求方式) | 标识是以什么方式请求此路径 |
@PathVariable | 获取路径参数 @PathVariable List id |
@RequesBody | 将json格式数据映射到实体类对象中 @RequesBody Emp emp |
三、分页查询案例
- 分页查询员工,返回总记录数以及数据列表 page:页码;pageSize:每页展示条数
- 定义实体类 PageResult
- 用于封装返回信息,总记录数和数据列表
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageResult{
private Long total; //返回总记录数
private List rows;//返回数据列表
}
- EmpController类
@Controller
public class EmpController{
@Autowride
private EmpService empService;
@RequestMapping(value="/emps",method = RequestMethod.GET)
public Result select(
String name, Short gender,
@DateTimeFormat(pattern="yyyy-MM-dd") LocalDate begin,
@DateTimeFormat(pattern="yyyy-MM-dd") LocalDate end,
@RequestParam(defaultValue = 1) Integer page,
@RequestParam(defaultValue = 10) Integer pageSize ){
PageResult pageResult = empService.select(name,gender,begin,end,page,pageSize);
Result.success(pageResult);
}
}
- EmpService接口类
@Service
public interface EmpService{
PageResult select(String name, Short gender, LocalDate begin, LocalDate end, Integer page, Integer pageSize);
}
- EmpService接口实现类
- 分页插件 PageHelper
帮我们自动计算总记录数,自动进行limit分页查询;
getTotal():获取总记录数,getResult():获取数据列表
- 分页插件 PageHelper
@Service
public class EmpserviceImp implements EmpService{
@Autowride
peivate EmpMapper empMapper;
@Override
public PageResult select(String name, Short gender, LocalDate begin, LocalDate end, Integer page, Integer pageSize){
//设置分页参数,传入页码和每页展示记录数
PageHelpar.startPage(page,pageSize);
//执行查询,执行强转
List<Emp> empList = empMapper.list(name,gender,begin,end);
page<Emp> p