Hello! 欢迎来到小浪云!


Mybatis 测试类中调用接口方法报 "Non-static method ‘list()’ cannot be referenced from a static context" 错误的原因和解决方法?


avatar
小浪云 2024-11-09 43

Mybatis 测试类中调用接口方法报 "Non-static method ‘list()’ cannot be referenced from a static context" 错误的原因和解决方法?

intellij ideamybatis 测试类中使用接口方法的障碍

在 mybatis 测试类中调用接口方法时,您可能会遇到错误“non-Static method ‘list()’ cannot be referenced from a static context”。这是什么原因造成的,如何解决?

问题剖析

您在测试类中定义了一个名为 “usermapper” 的变量,但编译器实际上期望的是一个接口类型。这导致了上述错误消息,表明编译器无法从静态上下文中引用非静态方法。

解决方案

要解决此问题,需要更改代码以正确的类型调用接口方法。以下是更正后的代码段:

import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired;  public class UserMapperTest {      @Autowired     private UserMapper userMapper;      @Test     public void testList() {         userMapper.list(); // 调用接口方法     } }
登录后复制

通过将 “usermapper” 类型明确转换为 “usermapper” 变量,您将能够成功调用接口方法。

相关阅读