在 intellij idea 的 mybatis 测试类中使用接口方法的障碍
在 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” 变量,您将能够成功调用接口方法。