EmpMapper
public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);
EmpController
@Slf4j
@RestController
public class EmpController {
@Autowired
private EmpService empService;
@GetMapping("/emps")
public Result page(@RequestParam(defaultValue = "1") Integer page,@RequestParam(defaultValue = "10") Integer pageSize,String name,Short gender,@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end){
log.info("分页查询",page,pageSize,name,gender,begin,end);
PageBean pageBean = empService.page(page,pageSize,name,gender,begin,end);
return Result.success(pageBean);
}
}
EmpService
public interface EmpService {
PageBean page(Integer page,Integer pageSize,String name,Short gender,LocalDate start,LocalDate end);
}
EmpServiceImpl
@Service
public class EmpServiceImpl implements EmpService {
@Autowired
private EmpMapper empMapper;
/*
@Override
*/
/*public PageBean page(Integer page, Integer pageSize) {
Long count = empMapper.count();
Integer start = (page - 1) * pageSize;
List<Emp> empList = empMapper.page(start,pageSize);
PageBean pageBean = new PageBean(count,empList);
return pageBean;
}*/
public PageBean page(Integer page,Integer pageSize,String name,Short gender,LocalDate begin,LocalDate end) {
PageHelper.startPage(page,pageSize);
List<Emp> empList = empMapper.list(name,gender,begin,end);
Page<Emp> p = (Page<Emp>) empList;
PageBean pageBean = new PageBean(p.getTotal(),p.getResult());
return pageBean;
}
}
xml文件配置
<select id="list" resultType="com.yyy.pojo.Emp">
select *
from tlias.emp
<where>
<if test = "name != null and name != 'nul">
name like concat('%',#{name},'%')</if>
<if test = "gender != null">
and gender = #{gender}</if>
<if test="begin !=null and end != null">
and entrydate between #{begin} and #{end}</if>
</where>
order by update_time desc
</select>
</mapper>