分页查询--条件查询
使用pagehelper插件
我们在pom.xml文件中加入下面的语句,可以使用插件,进行分页查询
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.2</version>
</dependency>
分页查询
前端controller代码
@Autowired
private TestService testService;
@GetMapping("/emp")
public Result page(@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "4") Integer pageSize,
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin, @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {
//调用service代码中的函数
List<Doctor> doc1=testService.page(pageNum,pageSize,begin,end);
return Result.success(doc1);
}
Service代码
@Autowired
private EmpMapper empMapper;
@Override
public List<Doctor> page(Integer pageNum, Integer pageSize, LocalDate begin, LocalDate end) {
//设置分页参数
PageHelper.startPage(pageNum, pageSize);
//执行查询
List<Doctor> docList=empMapper.list(begin,end);
//转换为Page对象
Page<Doctor> p=(Page<Doctor>)docList;
return p.getResult();
}
Mapper接口文件:
@Mapper
public interface EmpMapper {
List<Doctor> list(LocalDate begin, LocalDate end);
}
映射的XML文件:
<mapper namespace="com.forge.mapper.EmpMapper">
<select id="list" resultType="com.forge.entity.Doctor">
<!--我们不需要去写分页的查询-->
select * from doctor
where create_time between #{begin} and #{end}
</select>
</mapper>