idea mybatis 測試類無法調(diào)用接口方法的原因
在使用 idea 進(jìn)行 mybatis 測試時(shí),調(diào)用接口方法出現(xiàn)報(bào)錯(cuò)的情況,原因可能是:
錯(cuò)誤提示
當(dāng)在測試類中調(diào)用 usermapper 接口的 list() 方法時(shí),可能會出現(xiàn) “non-Static method ‘list()’ cannot be referenced from a static context” 錯(cuò)誤。
原因分析
該錯(cuò)誤提示表明,無法從靜態(tài)上下文中引用非靜態(tài)方法。在測試類中,main() 方法是一個(gè)靜態(tài)方法,而接口中的方法是非靜態(tài)的,導(dǎo)致了沖突。
解決方法
要解決此問題,需要將 usermapper 接口的 list() 方法聲明為靜態(tài)的。修改后的代碼如下:
public interface UserMapper { static List<User> list() { // ... } }
登錄后復(fù)制
靜態(tài)方法可以從靜態(tài)上下文中調(diào)用,從而解決錯(cuò)誤。