分页&条件查询空气质量信息

master
郑大仙丶 2 years ago
parent f1535ef671
commit 8c438b57f6

@ -1,11 +1,13 @@
package com.mashibing.controller;
import com.github.pagehelper.PageInfo;
import com.mashibing.entity.District;
import com.mashibing.service.AirService;
import com.mashibing.util.R;
import com.mashibing.vo.ResultVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
@ -24,6 +26,7 @@ public class AirController {
/**
*
* GET http://localhost:8080/district/list
*/
@GetMapping("/district/list")
@ -35,4 +38,23 @@ public class AirController {
return R.ok(districtList);
}
/**
* &
* GET http://localhost:8080/air/list
*
*
* page = 1 (1)
* size = 5 (5)
* districtId = null ()
*/
@GetMapping("/air/list")
public ResultVO airList(@RequestParam(defaultValue = "1")Integer page,
@RequestParam(defaultValue = "5")Integer size,
Integer districtId){
// 调用service查询空气质量信息数据
PageInfo pageInfo = airService.findAirByDistrictIdAndPage(page,size,districtId);
return R.ok(pageInfo.getTotal(),pageInfo.getList());
}
}

@ -1,5 +1,9 @@
package com.mashibing.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
@ -10,18 +14,33 @@ public class Air {
private Integer id;
@JsonIgnore
private Integer districtId;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date monitorTime;
private Integer pm10;
private Integer pm25;
private Integer monitoringStation;
private String monitoringStation;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date lastModifyTime;
// 多表查询映射区域名称
private String districtName;
public String getDistrictName() {
return districtName;
}
public void setDistrictName(String districtName) {
this.districtName = districtName;
}
public Integer getId() {
return id;
}
@ -62,11 +81,11 @@ public class Air {
this.pm25 = pm25;
}
public Integer getMonitoringStation() {
public String getMonitoringStation() {
return monitoringStation;
}
public void setMonitoringStation(Integer monitoringStation) {
public void setMonitoringStation(String monitoringStation) {
this.monitoringStation = monitoringStation;
}
@ -77,4 +96,18 @@ public class Air {
public void setLastModifyTime(Date lastModifyTime) {
this.lastModifyTime = lastModifyTime;
}
@Override
public String toString() {
return "Air{" +
"id=" + id +
", districtId=" + districtId +
", monitorTime=" + monitorTime +
", pm10=" + pm10 +
", pm25=" + pm25 +
", monitoringStation=" + monitoringStation +
", lastModifyTime=" + lastModifyTime +
", districtName='" + districtName + '\'' +
'}';
}
}

@ -0,0 +1,16 @@
package com.mashibing.mapper;
import com.mashibing.entity.Air;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author
* @version V1.0.0
*/
public interface AirMapper {
// 查询空气质量的SQL扔Mapper里
List<Air> findBydDistrictId(@Param("districtId") Integer districtId);
}

@ -1,5 +1,6 @@
package com.mashibing.service;
import com.github.pagehelper.PageInfo;
import com.mashibing.entity.District;
import java.util.List;
@ -14,4 +15,13 @@ public interface AirService {
* @return
*/
List<District> findDistrictList();
/**
* &
* @param page
* @param size
* @param districtId
* @return
*/
PageInfo findAirByDistrictIdAndPage(Integer page, Integer size, Integer districtId);
}

@ -1,6 +1,10 @@
package com.mashibing.service.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mashibing.entity.Air;
import com.mashibing.entity.District;
import com.mashibing.mapper.AirMapper;
import com.mashibing.mapper.DistrictMapper;
import com.mashibing.service.AirService;
import org.springframework.beans.factory.annotation.Autowired;
@ -18,9 +22,25 @@ public class AirServiceImpl implements AirService {
@Autowired
private DistrictMapper districtMapper;
@Autowired
private AirMapper airMapper;
@Override
public List<District> findDistrictList() {
List<District> districtList = districtMapper.findAll();
return districtList;
}
@Override
public PageInfo findAirByDistrictIdAndPage(Integer page, Integer size, Integer districtId) {
//1、分页
PageHelper.startPage(page,size);
//2、查询
List<Air> airList = airMapper.findBydDistrictId(districtId);
//3、封装PageInfo
PageInfo pageInfo = new PageInfo(airList);
//4、返回
return pageInfo;
}
}

@ -21,4 +21,10 @@ public class R {
return vo;
}
public static ResultVO ok(Long total,Object data){
ResultVO vo = ok(data);
vo.setTotal(total);
return vo;
}
}

@ -1,5 +1,7 @@
package com.mashibing.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
/**
* @author
* @version V1.0.0
@ -10,8 +12,19 @@ public class ResultVO {
private String msg;
@JsonInclude(value = JsonInclude.Include.NON_EMPTY)
private Long total;
private Object data;
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public Integer getCode() {
return code;
}

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mashibing.mapper.AirMapper">
<!-- // 查询空气质量的SQL扔Mapper里-->
<!-- List<Air> findBydDistrictId(@Param("districtId") Integer districtId);-->
<select id="findBydDistrictId" resultType="com.mashibing.entity.Air">
select
a.*,
d.name as district_name
from
air a , district d
where
a.district_id = d.id
<if test="districtId != null">
and a.district_id = #{districtId}
</if>
</select>
</mapper>

@ -0,0 +1,29 @@
package com.mashibing.mapper;
import com.mashibing.entity.Air;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
@RunWith(SpringRunner.class)
@SpringBootTest
class AirMapperTest {
@Autowired
private AirMapper airMapper;
@Test
void findBydDistrictId() {
List<Air> list = airMapper.findBydDistrictId(null);
for (Air air : list) {
System.out.println(air);
}
}
}

@ -1,6 +1,7 @@
package com.mashibing.service;
import com.github.pagehelper.PageInfo;
import com.mashibing.entity.District;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -22,4 +23,14 @@ public class AirServiceTest {
List<District> list = airService.findDistrictList();
System.out.println(list);
}
@Test
public void findAirByDistrictIdAndPage(){
PageInfo pageInfo = airService.findAirByDistrictIdAndPage(1, 5, null);
List list = pageInfo.getList();
for (Object o : list) {
System.out.println(o);
}
System.out.println(pageInfo.getTotal());
}
}
Loading…
Cancel
Save