首页 > 其他分享 >Mybatis-ResultHandler

Mybatis-ResultHandler

时间:2023-02-17 13:44:06浏览次数:40  
标签:ResultHandler 接口 resultHandler getObjects param1 Mybatis

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 接口的自定义类。

标签:ResultHandler,接口,resultHandler,getObjects,param1,Mybatis
From: https://www.cnblogs.com/hm201402/p/17129855.html

相关文章

  • MyBatis、LogBack XML文件模板
    xxxMapper模板<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper......
  • MybatisPlus之LambdaQueryWrapper简单用法
    简单查询(推荐)LambdaQueryWrapper<User>wrapper=newLambdaQueryWrapper<>();wrapper.eq(User::getUserId,id);wrapper.like(User::getUserName,userName);List......
  • 二、MyBatis的Dao层实现方式
    传统开发方式编写UserDao接口publicinterfaceUserDao{ List<User>findAll()throwsIOException;}编写UserDaoImpl实现publicclassUserDaoImplimplement......
  • MyBatis_基本使用
    MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。 一、导入jar包并......
  • MyBatis入门操作
    MyBatis的简介原始jdbc操作(查询数据)原始jdbc操作(插入数据)原始jdbc操作的分析原始jdbc开发存在的问题如下:①数据库连接创建、释放频繁造成系统资源浪费从而影响系统......
  • SpringBoot集成MybatisPlus
    SpringBoot集成MybatisPlus一、依赖<properties><mybatis.plus.version>3.4.0</mybatis.plus.version></properties> <dependencies> ......
  • MyBatis-Plus获取刚刚新建数据的自增id(重点在最后两张图片)
    实体类:User  数据交互类:UserDao  Service类:UserTableService   Service实现类:UserTableImpl    Controller层(重点在最后一段代码)  完成......
  • Mybatis逆向工程
    Mybatis逆向工程Mybatis框架需要:实体类,自定义Mapper接口,Mapper.xml传统的开发中上述的三个组件都需要开发者手动创建,逆向工程可以帮助开发者自动创建三个组件,提高效率......
  • MyBatis中的resultMap
    场景查询论坛项目首页的帖子列表首先需要从MySQL数据库中多表查询到帖子信息和作者信息,并得到一个List,为了更规范我定义了一个对象DiscussPostDTO来定义每一项但......
  • MybatisPlus查询条件设置详解
    select设置需要查询的字段例: 指定查询主键,名字,年龄字段select("id", "name", "age")例: 查询以test开头的属性select(i ‐> i.getProperty().startsWith("t......