学习Mybatis时所遇到的错误:Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException

    xiaoxiao2022-07-14  157

    Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error opening session. Cause: org.apache.ibatis.plugin.PluginException: Could not find method on interface org.apache.ibatis.executor.resultset.ResultSetHandler named handleResultSets. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.executor.resultset.ResultSetHandler.handleResultSets(java.beans.Statement) ### Cause: org.apache.ibatis.plugin.PluginException: Could not find method on interface org.apache.ibatis.executor.resultset.ResultSetHandler named handleResultSets. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.executor.resultset.ResultSetHandler.handleResultSets(java.beans.Statement) at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSessionFactory.openSessionFromDataSource(DefaultSqlSessionFactory.java:100) at org.apache.ibatis.session.defaults.DefaultSqlSessionFactory.openSession(DefaultSqlSessionFactory.java:47) at com.imooc.mybatis.test.ParameterTest.testColection(ParameterTest.java:61) at com.imooc.mybatis.test.ParameterTest.main(ParameterTest.java:107) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) Caused by: org.apache.ibatis.plugin.PluginException: Could not find method on interface org.apache.ibatis.executor.resultset.ResultSetHandler named handleResultSets. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.executor.resultset.ResultSetHandler.handleResultSets(java.beans.Statement) at org.apache.ibatis.plugin.Plugin.getSignatureMap(Plugin.java:87) at org.apache.ibatis.plugin.Plugin.wrap(Plugin.java:44) at com.imooc.mybatis.intercepter.MyfirstIntercepter.plugin(MyfirstIntercepter.java:30) at org.apache.ibatis.plugin.InterceptorChain.pluginAll(InterceptorChain.java:31) at org.apache.ibatis.session.Configuration.newExecutor(Configuration.java:568) at org.apache.ibatis.session.defaults.DefaultSqlSessionFactory.openSessionFromDataSource(DefaultSqlSessionFactory.java:96) ... 8 more Caused by: java.lang.NoSuchMethodException: org.apache.ibatis.executor.resultset.ResultSetHandler.handleResultSets(java.beans.Statement) at java.lang.Class.getMethod(Class.java:1786) at org.apache.ibatis.plugin.Plugin.getSignatureMap(Plugin.java:84) ... 13 more

    从中提取关键信息:

    Error opening session. Cause: org.apache.ibatis.plugin.PluginException: Could not find method on interface org.apache.ibatis.executor.resultset.ResultSetHandler named handleResultSets. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.executor.resultset.ResultSetHandler.handleResultSets(java.beans.Statement) Caused by: org.apache.ibatis.plugin.PluginException: Could not find method on interface org.apache.ibatis.executor.resultset.ResultSetHandler named handleResultSets. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.executor.resultset.ResultSetHandler.handleResultSets(java.beans.Statement)

    在网上找了很多资料,都没有解决这个问题;最后发现是导入的类导错了。 org.apache.ibatis.executor.resultset.ResultSetHandler.handleResultSets(java.beans.Statement)

    错误的导入:

    package com.imooc.mybatis.intercepter;

    import org.apache.ibatis.executor.resultset.ResultSetHandler; import org.apache.ibatis.plugin.*;

    import java.beans.Statement; import java.util.Properties;

    正确的应该是:(注意黑体部分的不同)

    package com.imooc.mybatis.intercepter;

    import org.apache.ibatis.executor.resultset.ResultSetHandler; import org.apache.ibatis.plugin.*;

    import java.sql.Statement; import java.util.Properties; 目前原因还为找到,求大佬j解释:

    最新回复(0)