mybaits 自定义查询返回Map<Integer,Integer>
时间: 2023-07-09 11:47:58 浏览: 165
如果你想自定义MyBatis查询返回一个`Map<Integer, Integer>`类型的结果,可以使用MyBatis提供的`ResultHandler`接口,该接口可以将查询结果转换为一个你自定义的Map对象。
以下是一个示例:
```java
public class MyResultHandler implements ResultHandler {
private Map<Integer, Integer> resultMap = new HashMap<>();
@Override
public void handleResult(ResultContext context) {
Map<String, Object> resultMap = (Map<String, Object>) context.getResultObject();
Integer id = (Integer) resultMap.get("id");
Integer value = (Integer) resultMap.get("value");
resultMap.put(id, value);
}
public Map<Integer, Integer> getResultMap() {
return resultMap;
}
}
MyResultHandler handler = new MyResultHandler();
sqlSession.select("com.example.MyMapper.select", handler);
Map<Integer, Integer> resultMap = handler.getResultMap();
```
在上面的示例中,我们自定义了一个`MyResultHandler`类,实现了`ResultHandler`接口,并在实现类中将查询结果转换为一个Map对象,其中Map的key是查询结果中的`id`字段,value是查询结果中的`value`字段。然后我们在查询语句中传入了这个实现类的对象,查询结果将会被转换为我们自定义的Map对象。
阅读全文