mybatis 分页拦截,当返回行数是0是,发现继续执行分页sql,应该立刻返回,不必要再进行数据库的查询。
拦截注解如下:
@Intercepts({@Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class})})
@Override public Object intercept(Invocation invocation) throws Throwable { }
如果直接返回
return null;
程序会报错。null
因为query是要的一个集合列表,这时候给返回一个空的列表就可以了
return new ArrayList<>();
程序将不再报错。优化了程序处理流程。