Mybatis-ResultHandler

Mybatis接口——ResultHandler

mybatis 中的 ResultHandler 主要有2个作用:

  1. 对取出的结果进行统一处理

  2. 配合defaultFetchSize解决oom问题

那如何使用这个接口呢?

首先,在mapper xml中编写查询的sql

<select id="getObjects" resultMap="resultMap" fetchSize="50">
    select * from table where id = #{param1}
</select>

然后,在对应的mapper接口中定义这样的方法

public interface YourMapper {
    void getObjects(@Param("param1") Object param1, ResultHandler handler);
}

最后,在service层编写调用该方法的逻辑

List<Object> getObjects(Object param1) {
    ResultHandler<Object> resultHandler = new ResultHandler<Object>() {
        @Override
        public void handleResult(ResultContext<?> resultContext) {
            // to do 对应的处理逻辑
        }
    };
    yourMapper.getObjects(param1, resultHandler);
    return resultHandler.getResults();
}

如果需要实现功能一,对取出的结果进行统一处理,那么,上面的内部匿名类也可以使用附带统一逻辑的并实现了 ResultHandler 接口的自定义类。

posted @   明小子@  阅读(789)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示