在 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 接口,編譯器就可以識別接口變量,從而解決報錯。