拦截器实现分页3
需要从被拦截的对象中获取原始的sql语句和配置参数。拦截器类实现的intercept方法参数中的Invocation对象中就有被拦截下来的对象(也就是实现了StatementHandler接口的对象,由于拦截的对象有很多种,但是拦截下来的对象是确定的StatementHandler,所以这里通过getTarget()方法获得的对象需强转为StatementHandler类型)。
Mybatis的Plugin类提供的wrap()方法,拦截的如果不是需要的对象
,该方法返回的是原对象本身,从这以后该对象就和分页拦截器没有关系了。如果拦截的是需要的对象,则会返回代理类,并执行intercept方法
需要了解什么