springboot:使用pagehelper之后,无法添加自定义mybatis拦截器
1.实现自定义mybatis拦截器
@Component @Intercepts({ @Signature(type = Executor.class, method = "update", args = { MappedStatement.class, Object.class }) }) public class MybatisInterceptor implements Interceptor { // 略...... }
2.在web listener中添加这个拦截器
@Component public class StartSysListener implements ApplicationListener<ContextRefreshedEvent> { private static Logger log = LoggerFactory.getLogger(StartSysListener.class); @Autowired private MybatisInterceptor mybatisInterceptor; @Autowired private List<SqlSessionFactory> sqlSessionFactoryList; @Override public void onApplicationEvent(ContextRefreshedEvent event) { this.addMyInterceptor(); } private void addMyInterceptor() { log.debug("添加自定义Mybatis SQL拦截器."); for (SqlSessionFactory sqlSessionFactory : sqlSessionFactoryList) { sqlSessionFactory.getConfiguration().addInterceptor(mybatisInterceptor); } } }
这种方式添加简单,易于使用。
本文来自博客园,作者:huiy_小溪,转载请注明原文链接:https://www.cnblogs.com/huiy/p/13354528.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统