首先出现这种问题不一定报错,只是返回的结果为空,那么这时候应该是resultType的返回类型有问题了;
先不说原因,因为有好几种,但是不管什么原因,使用map传参与返回应该不会错,好处是不用映射实体类,而且不用考虑之后如果加入条件等其他因素,下面以查询为例:
控制层:方法用map接收
@ResponseBody
@RequestMapping(value = "/requestDetail_{requestSn}", method = RequestMethod.GET)
public Map<String,Object> selectBloodOrderList(
@PathVariable(value="requestSn") Integer requestSn
){
Map<String,Object> map = new HashMap<>();
map.put("requestSn", requestSn);
Map<Object, Object> cBloodRequest =bloodService.selectBloodOrderList(map);
Map<String,Object> returnMap = new HashMap<>();
returnMap.put("cBloodRequest", cBloodRequest);
return returnMap;
}
xml:用map返回,单表多表都一样
<select id="selectBloodOrderList" resultType="java.util.Map" parameterType="java.util.Map" >
select bo.blood_class_name,
bo.blood_abo_name,
bo.blood_rh_name,
bo.quantity,
bo.quantity_unit,
bo.order_status_name,
bo.clinical_pathway_name,
bsr.special_Request
from c_blood_order bo
left outer join (select blood_order_sn, wm_concat(special_Request) as special_Request
from c_blood_special_request
where delete_flag = '0'
group by blood_order_sn) bsr
on bo.blood_order_sn = bsr.blood_order_sn
where bo.request_sn = #{requestSn}
</select>
很方便。