上一篇中讲了mybatis拦截器的实现
这一篇扩展mybatis在拦截器中添加额外参数
在mybatis的mapper.xml文件中,我们可以使用#{}或${}的方式获取到参数,这些参数都需要提前我们在...mapper.java接口文件中通过参数的方式传入参数才能取到
为了扩展参数,我们需要了解mybatis是怎么帮我们保管mapper.java中传入的参数的
进入Executor.java接口查看query...方法,可以看到第一个参数MappedStatement对象中有一个parameterMap字段,该字段是Map类型保存我们的参数,那我们只需要在拦截器中对MappedStatement对象的parameterMap...,pageHelper的拦截器中对参数进行了校验,因为自定的拦截器还没有执行,则Map中不会有自定义参数,当pageHelper的拦截器开始校验参数的时候就会报错找不到参数
如何将自定义的拦截器放在PageHelper...SqlSessionFactory中加入的拦截器,先加入的会后执行,后加入的先执行,那么我们需要让自定义的拦截器在PageHelper后加入,查看PageHelper的自动配置类
pageHelper的拦截器会在Mybatis