当前位置: 首页 > 面试题库 >

MyBatis-不调用ResultHandler

孙嘉
2023-03-14
问题内容

我遵循以下示例:https :
//code.google.com/p/mybatis/wiki/ResultHandlerExample
这是我的界面:

public interface CountryDirRdbMapper {
    public static class CountryDirBaseItemWithText {
        public CountryDirBaseItem baseItem;
    }
    public List<CountryDirBaseItem> select(ResultHandler handler);
}

这是我的XML映射器

  <resultMap id="readItemsRM" type="CountryDirRdbMapper$CountryDirBaseItemWithText">
        <association property="baseItem" javaType="CountryDirBaseItem">
            <id property="id" column="Id"/>
            <result property="comment" column="Comment"/>
        </association>
    </resultMap>

这段代码构成了我的DAO:

SqlSession session = MyBatisConnectionFactory.getSqlSessionFactory().openSession(true);
List<CountryDirBaseItem> list;
  try{
       CountryDirRdbMapper mapper = session.getMapper(CountryDirRdbMapper.class);
       class MyResultHandler implements ResultHandler {
           @Override
           public void handleResult(ResultContext context) {
           System.out.println("#########################");
           }
       }

    MyResultHandler handler=new MyResultHandler();
      list= mapper.select(handler);
 }  
  finally {
   session.close();
}

但是,永远不会调用结果处理程序。在这个例子中,我跟随人们说有同样的问题。那么如何使其工作呢?还是mybatis 3不支持结果处理程序?


问题答案:

我找到了答案。不幸的是,MyBatis开发人员根本不关心用户。他们真丢人。事实是,当我们使用自定义结果处理程序时,我们必须使用的不是会话而是会话。

MyResultHandler handler=new MyResultHandler();
session.select("select", handler);

之后,必须从处理程序中获取结果。



 类似资料:
  • 问题内容: 我遵循以下示例:https : //code.google.com/p/mybatis/wiki/ResultHandlerExample 这是我的界面: 这是我的XML映射器 这段代码构成了我的DAO: 但是,永远不会调用结果处理程序。在这个例子中,我跟随人们说有同样的问题。那么如何使其工作呢?还是mybatis 3不支持结果处理程序? 问题答案: 我找到了答案。不幸的是,MyBat

  • 我有一个函数,它在PL/SQL中返回一个布尔值。我曾尝试直接获取那个布尔值,但没有成功,所以现在我试图将其转换为字符串(我不想修改数据库): 此代码在数据库中正常工作:

  • 这可能是一个直接的问题,但我尝试了很多选择,但都不起作用。我给出了以下细节供大家参考。Mybatis xml配置:- Postgres功能:- 映射器配置:- 错误面对:- aused:org.apache.ibatis.type.TypeException:使用JdbcType数组为参数#1设置非空时出错。尝试为此参数设置不同的JdbcType或不同的配置属性。原因:java.lang.Clas

  • 我有一个spring webapp,一切都很好,但现在我需要一个事务性方法, 这是我的应用程序上下文。xml 这是我的数据库。xml 在一个服务类中,我有一个autowired属性,这个属性有一个这样的事务方法:我进行更新,将一行值更改为“2”,然后在抛出RuntimeException之后,如果一切正常,则必须回滚更新。 两天前,我尝试了很多可能的解决方案,我在google和stackoverf

  • 我正在尝试让Spring事务管理在我的新Spring Boot MyBatis应用程序中工作。 到目前为止,我已经设法让一切都以最小的问题工作——它只是让注释正常运行。目前,无论方法是否被注释,所有语句都会立即提交。 Spring Boot为您提供了如此多的样板配置,以至于很难找到丢失的链接。 我的包含以下依赖项: 我的包含以下数据源配置: bean中不按预期运行的方法的一个简单示例如下: 引发异

  • 1. 前言 在spring-boot 集成 MyBatis小节中,我们介绍了如何在 spring-boot 中集成 MyBatis,MyBatis 虽然灵活,但是对于业务开发还略显不够。MyBatis-Plus 是国内开发者为 MyBatis 定制的一款增强工具,在不侵入 MyBatis 的基础上能够快速地提升 MyBatis 的开发能力,为开发者节省大量的时间。 提示: 本小节建立在spring