Mybatis 测试类中调用接口方法报错:如何解决“Non-static method 'list()' cannot be referenced from a static context”?

mybatis 测试类中调用接口方法报错:如何解决“non-static method 'list()' cannot be referenced from a static context”?

idea mybatis 测试类中调用接口方法时报错

在编写 mybatis 测试类时,调用用户映射器接口 usermapper 中的 list 方法却遇到了报错:"non-static method 'list()' cannot be referenced from a static context"。

原因分析

出现此报错的原因是,在测试类中,编译器无法识别接口变量 usermapper。在 java 中,接口变量必须先被实例化才能使用。

解决方法

要解决此问题,需要在测试类中实例化 usermapper 接口。可以按照以下步骤进行:

  1. 在测试类中创建 usermapper 接口的实例:

    private usermapper usermapper; // 声明一个 usermapper 实例变量
  2. 在测试方法中注入 usermapper 实例:

    @autowired
    public void setusermapper(usermapper usermapper) {
     this.usermapper = usermapper;
    }
  3. 在测试方法中调用 list 方法:

    List<User> users = userMapper.list(); // 调用 list 方法

通过以上步骤实例化 usermapper 接口,编译器就可以识别接口变量,从而解决报错。

以上就是Mybatis 测试类中调用接口方法报错:如何解决“Non-static method 'list()' cannot be referenced from a static context”?的详细内容,更多请关注其它相关文章!