mybatis返回结果映射成List<MapString,Object>>
xml:
<select id="getProjectRate" resultType="java.util.HashMap">
sql......
</select>
mapper:
List<Map<String, Object>> getProjectRate();
service:
@Override
public List<Map<String, Object>> getProjectRate(){
return monthlyReportMapper.getProjectRate();
}
controller:
@RequestMapping(value = "/getProjectRate", method = {RequestMethod.GET})
public JsonResult getProjectRate(){
List<Map<String, Object>> list = monthlyReportService.getProjectRate();
return new JsonResult(StatusCode.OK, list);
}
返回结果:
所用到的依赖:
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
/**
* @author Wu zhiwei(Allen)
* @Title:
* @Description: 返回统一的json
* @date 2018/10/12 10:28
*/
public class JsonResult<T> {
private String code;
private String message;
private T data;
public JsonResult() {
this.setCode(StatusCode.OK);
this.setMessage("成功!");
}
public JsonResult(StatusCode code) {
this.setCode(code);
this.setMessage(code.getMessage());
}
public JsonResult(StatusCode code, T data) {
this.setCode(code);
this.setMessage(code.getMessage());
this.setData(data);
}
/*public JsonResult(StatusCode code, String message) {
this.setCode(code);
this.setMessage(message);
}*/
public JsonResult(StatusCode code, String message, T data) {
this.setCode(code);
this.setMessage(message);
this.setData(data);
}
@Override
public String toString() {
JSONObject json = new JSONObject();
try {
json.put("code", code);
json.put("message", message);
json.put("data", data);
} catch (JSONException e) {
e.printStackTrace();
}
return json.toString();
}
public String getCode() {
return code;
}
public void setCode(StatusCode code) {
this.code = String.valueOf(code.getCode());
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Object getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
public enum StatusCode {
OK(200,"Successfully handle the request."),
FAIL(-200,"Unsuccessfully handle the request."),
DUPLICATE_RESOURCE(201,"duplicate resource"),
PARAM_ERROR(400,"Request parameters error"),
PERMISSON_DENIED(403,"Permission denied"),
UNAUTHORIZED(407,"Need login"),
INTERFACE_LEAPID_FAIL(408,"could not get data from leadip"),
SERVER_ERROR(500,"Server internal error");
private final int code;
private final String message;
private StatusCode(int code,String message){
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
}