如何在MyBatis Mapper XML中连接ResultHandler

Mah*_*ror 5 java xml pagination mapper mybatis

我找到了几个如何将自定义ResultHandler连接到MyBatis查询的示例:

例如https://code.google.com/p/mybatis/wiki/ResultHandlerExample

不幸的是,示例中给出的ResultHandler永远不会被调用.(正如最后的评论已经说明的那样)

所以我搜索了一个解决方案,发现了这个:MyBatis - ResultHandler没有被调用

但这并不适合我的问题,因为我使用的是MyBatis xml风格的方式而不是API风格的方式.所以在我的情况下,我没有

SqlSession session = MyBatisConnectionFactory.getSqlSessionFactory().openSession(true);
Run Code Online (Sandbox Code Playgroud)

有没有办法在xml文件中连接我的自定义处理程序,例如<resultMap />oder <select />节点?

ocm*_*wdt 7

您可以在mapper中使用ResultHandler定义方法:

public interface YourMapper {
    void getObjects(@Param("param1") Object param1, ResultHandler handler);
}
Run Code Online (Sandbox Code Playgroud)

然后你可以使用它:

List<Object> getObjects(object param1) {
    YourResultHandler resultHandler = new YourResultHandler();
    yourMapper.getObjects(param1, resultHandler);
    return resultHandler.getResults();
}
Run Code Online (Sandbox Code Playgroud)

  • 您询问了如何使用ResultHandler - 这个答案是正确的. (2认同)