后台异常报错——Incorrect result size: expected 1, actual 0

后台报错截图明细:

 

后台异常报错——Incorrect result size: expected 1, actual 0_第1张图片

报错代码部分:

SQL语句和params参数都没有问题,在数据库运行可以取到一条数据,但是从接口就是取不到;


    public Map getNoticeById(String id) {
        //参数
        ArrayList params = new ArrayList();
        params.add(id);
        //查询sql
        StringBuffer sql = new StringBuffer();
        sql.append("");
        return getJdbcTemplate().queryForMap(sql.toString(), params.toString());
    }

解决方案:

返回的Map必须进行判断,这样才能拿到数据;

    public Map getNoticeById(String id) {
        //参数
        ArrayList params = new ArrayList();
        params.add(id);
        //查询sql
        StringBuffer sql = new StringBuffer();
        sql.append("");
        Map result = new HashMap();
        try{
            result = getJdbcTemplate().queryForMap(sql.toString(), params.toArray());
            if(result != null && result.size()>0){
                return result;
            }
        }catch(EmptyResultDataAccessException e){
            return null;
        }
        return result;
    }

 

你可能感兴趣的:(java)