diff --git a/tlias-web-management/pom.xml b/tlias-web-management/pom.xml index b3fc381..589b6e5 100644 --- a/tlias-web-management/pom.xml +++ b/tlias-web-management/pom.xml @@ -40,6 +40,12 @@ spring-boot-starter-test test + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.2 + diff --git a/tlias-web-management/src/main/java/com/inmind/controller/EmpController.java b/tlias-web-management/src/main/java/com/inmind/controller/EmpController.java index e6b17bc..06455fc 100644 --- a/tlias-web-management/src/main/java/com/inmind/controller/EmpController.java +++ b/tlias-web-management/src/main/java/com/inmind/controller/EmpController.java @@ -5,9 +5,13 @@ import com.inmind.pojo.Result; import com.inmind.service.EmpService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.time.LocalDate; + @RestController @Slf4j public class EmpController { @@ -16,8 +20,15 @@ public class EmpController { private EmpService empService; @GetMapping("/emps") - public Result page(Integer page,Integer pageSize){ - log.info("分页查询,参数page :{};pageSize:{}",page,pageSize); + //@RequestParam(defaultValue = "1") 设置参数的默认值 + public Result page( + 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){ + log.info("分页查询,参数page :{};pageSize:{}----{},{},{},{}",page,pageSize,name,gender,begin,end); //调用业务层获取分页结果数据 PageBean pageBean = empService.page(page,pageSize); return Result.success(pageBean); diff --git a/tlias-web-management/src/main/java/com/inmind/mapper/EmpMapper.java b/tlias-web-management/src/main/java/com/inmind/mapper/EmpMapper.java index e7c6ed2..63b589c 100644 --- a/tlias-web-management/src/main/java/com/inmind/mapper/EmpMapper.java +++ b/tlias-web-management/src/main/java/com/inmind/mapper/EmpMapper.java @@ -9,8 +9,8 @@ import java.util.List; @Mapper public interface EmpMapper { //查询总记录数 - @Select("select count(*) from emp") - Long getTotal(); + /*@Select("select count(*) from emp") + Long getTotal();*/ /* 分页查询 limit @@ -18,7 +18,10 @@ public interface EmpMapper { 参数2:查询返回记录数 就是 每页展示的记录数 */ //分页查询获取员工列表数据 - @Select("select * from emp limit #{startIndex},#{pageSize};") - List getPageList(Integer startIndex,Integer pageSize); + /*@Select("select * from emp limit #{startIndex},#{pageSize};") + List getPageList(Integer startIndex,Integer pageSize);*/ + //员工的基本查询sql + @Select("select * from emp") + public List list(); } diff --git a/tlias-web-management/src/main/java/com/inmind/service/impl/EmpServiceImpl.java b/tlias-web-management/src/main/java/com/inmind/service/impl/EmpServiceImpl.java index d6feb42..e546385 100644 --- a/tlias-web-management/src/main/java/com/inmind/service/impl/EmpServiceImpl.java +++ b/tlias-web-management/src/main/java/com/inmind/service/impl/EmpServiceImpl.java @@ -1,5 +1,7 @@ package com.inmind.service.impl; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; import com.inmind.mapper.EmpMapper; import com.inmind.pojo.Emp; import com.inmind.pojo.PageBean; @@ -14,19 +16,32 @@ public class EmpServiceImpl implements EmpService { @Autowired private EmpMapper empMapper; - @Override + /*@Override public PageBean page(Integer page, Integer pageSize) { //1.调用mapper获取总记录数和分页的员工列表数据 Long total = empMapper.getTotal(); - /* + *//* 分页查询 limit 参数1:起始索引 就是 (页码-1)*每页展示的记录数 参数2:查询返回记录数 就是 每页展示的记录数 - */ + *//* int startIndex = (page - 1)*pageSize; List empList = empMapper.getPageList(startIndex,pageSize); //2.封装pagebean对象 PageBean pageBean = new PageBean(total, empList); return pageBean; + }*/ + + + @Override + public PageBean page(Integer page, Integer pageSize) { + //1.调用分页插件PageHelper的固定api,startPage + PageHelper.startPage(page, pageSize); + //2.执行原始的查询sql语句(此时已经被分页插件修改了底层sql,它返回值其实是一个Page类型对象) + List empList = empMapper.list(); + Page p = (Page) empList; + //2.封装pagebean对象 + PageBean pageBean = new PageBean(p.getTotal(), p.getResult()); + return pageBean; } }