我找到了几个如何将自定义ResultHandler连接到MyBatis查询的示例:
例如https://code.google.com/p/mybatis/wiki/ResultHandlerExample
不幸的是,示例中给出的ResultHandler永远不会被调用。 (正如已经发表的最后一条评论)
所以我搜索了一个解决方案,发现了这个:MyBatis - ResultHandler is not invoked
但这并不完全适合我的问题,因为我使用的是MyBatis的xml样式而不是API样式。所以就我而言,我没有
SqlSession session = MyBatisConnectionFactory.getSqlSessionFactory().openSession(true);
有没有办法在xml文件中连接我的自定义处理程序,例如
<resultMap />
oder <select />
节点? 最佳答案
您可以在映射器中使用ResultHandler定义方法:
public interface YourMapper {
void getObjects(@Param("param1") Object param1, ResultHandler handler);
}
然后,您可以使用它:
List<Object> getObjects(object param1) {
YourResultHandler resultHandler = new YourResultHandler();
yourMapper.getObjects(param1, resultHandler);
return resultHandler.getResults();
}
关于java - 如何在MyBatis Mapper XML中连接ResultHandler,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28413717/