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

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

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" 变量,您将能够成功调用接口方法。

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