MySQL根据条件查询Select记住,永远用List<>几首返回。对于,确定只有单条记录,一般我的写法为:
public int getPayStatusByPayno(OrderInfoRequest orderInfoRequest) {
if (orderInfoRequest == null) {
throw new DonationException(ErrorCode.BAD_REQUEST);
}
List<Integer> statusList = paymentMapper.getPayStatusByPayno(orderInfoRequest.getTradeno());
if (null == statusList || statusList.size() == 0) {
throw new DonationException(ErrorCode.TRADENO_NOT_FOUND);
}
if (statusList.size() == 1) {
return statusList.get(0);
} else {
log.error("query trade status, param pay_no is:{}, return dirty data is:{}", orderInfoRequest.getTradeno(), JSON.toJSONString(statusList));
throw new DonationException(ErrorCode.DATABASE_DIRTY_DATA);
}
}