@Intercepts({ @Signature(type = StatementHandler.class, method = "prepare", args = { Connection.class }) })
public class PaginationInterceptor implements Interceptor {......}
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.statement.StatementHandler named prepare. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.executor.statement.StatementHandler.prepare(java.sql.Connection)
### Cause: org.apache.ibatis.plugin.PluginException: Could not find method on interface org.apache.ibatis.executor.statement.StatementHandler named prepare. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.executor.statement.StatementHandler.prepare(java.sql.Connection)
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.baomidou.mybatisplus.test.UserMapperTest.main(UserMapperTest.java:73)
Caused by: org.apache.ibatis.plugin.PluginException: Could not find method on interface org.apache.ibatis.executor.statement.StatementHandler named prepare. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.executor.statement.StatementHandler.prepare(java.sql.Connection)
at org.apache.ibatis.plugin.Plugin.getSignatureMap(Plugin.java:87)
at org.apache.ibatis.plugin.Plugin.wrap(Plugin.java:44)
at com.baomidou.mybatisplus.plugins.PaginationInterceptor.plugin(PaginationInterceptor.java:185)
at org.apache.ibatis.plugin.InterceptorChain.pluginAll(InterceptorChain.java:31)
at org.apache.ibatis.session.Configuration.newExecutor(Configuration.java:546)
at org.apache.ibatis.session.defaults.DefaultSqlSessionFactory.openSessionFromDataSource(DefaultSqlSessionFactory.java:96)
... 2 more
Caused by: java.lang.NoSuchMethodException: org.apache.ibatis.executor.statement.StatementHandler.prepare(java.sql.Connection)
at java.lang.Class.getMethod(Class.java:1605)
at org.apache.ibatis.plugin.Plugin.getSignatureMap(Plugin.java:84)
... 7 more
@qmdx
In 3.4.0, StatementHandler#prepare(Connection) has been changed to StatementHandler#prepare(Connection,Integer).
@kazuki43zoo
Oh, I see . thanks
Done
That was in fact my fault because I should have left the old method. Sorry. I have already added that to the release notes.
will the next version be added?? this meshod
@leefinechan
to solve problem just modify the anotation of the interceptor (by add Integer.class) like this :
@Intercepts({ @Signature(type = StatementHandler.class, method = "prepare", args = { Connection.class, Integer.class }) })
Statement prepare(Connection var1, Integer var2) throws SQLException;
@dutrieux 瑙e喅闂
good post ,saves a lot of time for me
Most helpful comment
@leefinechan
to solve problem just modify the anotation of the interceptor (by add
Integer.class) like this :