Hello! 欢迎来到小浪云!


Mybatis 测试类调用接口方法报错:为什么无法从静态上下文中引用非静态方法?


avatar
小浪云 2024-11-09 88

Mybatis 测试类调用接口方法报错:为什么无法从静态上下文中引用非静态方法?

idea mybatis 测试类无法调用接口方法的原因

在使用 idea 进行 mybatis 测试时,调用接口方法出现报错的情况,原因可能是:

错误提示

当在测试类中调用 usermapper 接口的 list() 方法时,可能会出现 “non-Static method ‘list()’ cannot be referenced from a static context” 错误。

原因分析

该错误提示表明,无法从静态上下文中引用非静态方法。在测试类中,main() 方法是一个静态方法,而接口中的方法是非静态的,导致了冲突。

解决方法

要解决此问题,需要将 usermapper 接口的 list() 方法声明为静态的。修改后的代码如下:

public interface UserMapper {     static List<User> list() {         // ...     } }
登录后复制

静态方法可以从静态上下文中调用,从而解决错误。

相关阅读