Mybatis 测试类中调用接口方法报错:如何解决“Non-static method ‘list()’ cannot be referenced from a static context”?
本篇文章给大家分享《Mybatis 测试类中调用接口方法报错:如何解决“Non-static method ‘list()’ cannot be referenced from a static context”?》,覆盖了数据库的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。
在 idea 的 mybatis 测试类中调用接口方法时报错
在编写 mybatis 测试类时,调用用户映射器接口 usermapper 中的 list 方法却遇到了报错:”non-static method ‘list()’ cannot be referenced from a static context”。
原因分析
出现此报错的原因是,在测试类中,编译器无法识别接口变量 usermapper。在 java 中,接口变量必须先被实例化才能使用。
解决方法
要解决此问题,需要在测试类中实例化 usermapper 接口。可以按照以下步骤进行:
-
在测试类中创建 usermapper 接口的实例:
private usermapper usermapper; // 声明一个 usermapper 实例变量
-
在测试方法中注入 usermapper 实例:
@autowired public void setusermapper(usermapper usermapper) { this.usermapper = usermapper; }
-
在测试方法中调用 list 方法:
List<User> users = userMapper.list(); // 调用 list 方法
通过以上步骤实例化 usermapper 接口,编译器就可以识别接口变量,从而解决报错。
终于介绍完啦!小伙伴们,这篇关于《Mybatis 测试类中调用接口方法报错:如何解决“Non-static method ‘list()’ cannot be referenced from a static context”?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~主机宝贝公众号也会发布数据库相关知识,快来关注吧!