вернуть HashMap как результат в Mybatis - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть таблица отделов, в которой в качестве идентификатора столбца и имя сотрудника указывается департамент_идентификатор под столбом работника. Мне нужно вернуть HashMap с ключом_доставки и числом сотрудников отдела в качестве стоимости. Я написал этот код ниже в mybatis

В Deptmapper.xml у меня есть

<select id="getAll” resultType="hashmap">
    SELECT id as dept_id,count(employee) as headCount
    FROM department
</select>

В Deptmapper.java у меня есть

Void getAll(ResultHandler handler);

In DeptmapperDAO.java

public Map<Integer,Integer> getAll() {

    HashMapResultHandler resultHandler= new HashMapResultHandler();
    deptmapper. getAll(resultHandler);
    return resultHandler.getMap();
}

В HashMapResultHandler.java у меня есть

public class HashMapResultHandler implements ResultHandler{

    private Map<Integer,Integer> map = new HashMap<Integer, Integer>();

    @Override
    public void handleResult(ResultContext resultContext) {

        HashMap<String,Object> resultObject = (HashMap<String,Object>) resultContext.getResultObject();
        System.out.println("resultObject   ---> "+resultObject.keySet());
         map.put(Integer.valueOf((String)resultObject.get("dept_id")),Integer.valueOf((String)resultObject.get(“head_count")));

    }

    public Map<Integer,Integer> getMap(){
        return map;
    }
}

Когда я отлаживаю этот код. Я всегда получаю resultContext.getResultObject(); как Ноль. Есть идеи, что мне не хватает?

...