【问题标题】:How to connect a ResultHandler in MyBatis Mapper XML如何在 MyBatis Mapper XML 中连接一个 ResultHandler
【发布时间】:2015-02-09 15:51:52
【问题描述】:

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

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

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

于是我搜索了一个解决方案,发现了这个:MyBatis - ResultHandler is not invoked

但这不太适合我的问题,因为我使用的是 xml 样式的方式而不是 API 样式的方式。所以就我而言,我没有

SqlSession session = MyBatisConnectionFactory.getSqlSessionFactory().openSession(true);

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

【问题讨论】:

    标签: java xml pagination mybatis mapper


    【解决方案1】:

    您可以在映射器中使用 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();
    }
    

    【讨论】:

    • 正如我上面所写的,我正在寻找如何以 XML 方式而不是 javacode 方式使用自定义 ResultMapper
    • 你问如何使用 ResultHandler - 这个答案是正确的。
    • 这也可以用@Many 称为@Result 吗?
    猜你喜欢
    • 2022-01-08
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多