From 4242128e8980734889a01a1ac429393b51073894 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 21 五月 2025 11:42:42 +0800 Subject: [PATCH] 重新设计mybatis插件实现方式,增加输出sql日志插件 --- pms-parent/pms-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java | 71 +++++++++++++++++++++++++++++++---- 1 files changed, 62 insertions(+), 9 deletions(-) diff --git a/pms-parent/pms-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java b/pms-parent/pms-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java index 3780956..bd2f4ae 100644 --- a/pms-parent/pms-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java +++ b/pms-parent/pms-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java @@ -1,26 +1,79 @@ package com.dy.common.mybatis; +import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import jakarta.annotation.PostConstruct; +import org.apache.ibatis.session.SqlSessionFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; -@org.springframework.context.annotation.Configuration +import java.util.List; + +@Configuration public class MyBatisConfig { + @Autowired + private List<SqlSessionFactory> sqlSessionFactoryList; + + @Value("${mybatis-plus.configuration.print-sql}") + private boolean printSql; + + /** + * 涓や釜鎷︽埅鍣紝鑷姩鐢熸垚ID锛屽紓甯告椂杈撳嚭SQL + */ + @PostConstruct + public void addMyInterceptor() { + for (SqlSessionFactory sqlSessionFactory : sqlSessionFactoryList) { + org.apache.ibatis.session.Configuration conf = sqlSessionFactory.getConfiguration(); + conf.addInterceptor(new AutoGenerateIdInterceptor()); + conf.addInterceptor(new PrintExceptionSqlInterceptor()); + if (printSql) { + conf.addInterceptor(new PrintSqlInterceptor()); + } + } + } + + /** + * mybatisPlus鐨勫垎闈㈡彃浠� + * @return 鎷︽埅鍣� + */ + @Bean + public PaginationInnerInterceptor paginationInnerInterceptor(){ + return new PaginationInnerInterceptor() ; + } + + + /* + @Value("${mybatis-plus.configuration.print-sql}") + private boolean printSql; @Bean public ConfigurationCustomizer mybatisConfigurationCustomizer() { return configuration -> { configuration.addInterceptor(new AutoGenerateIdInterceptor()); configuration.addInterceptor(new PrintExceptionSqlInterceptor()); - }; - /* - return new ConfigurationCustomizer() { - @Override - public void customize(MybatisConfiguration configuration) { - configuration.addInterceptor(new AutoGenerateIdInterceptor()); - configuration.addInterceptor(new PrintExceptionSqlInterceptor()); + if (printSql) { + configuration.addInterceptor(new PrintSqlInterceptor()); } }; - */ + //return new ConfigurationCustomizer() { + // @Override + // public void customize(MybatisConfiguration configuration) { + // configuration.addInterceptor(new AutoGenerateIdInterceptor()); + // configuration.addInterceptor(new PrintExceptionSqlInterceptor()); + // } + //}; } + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 濡傛灉閰嶇疆澶氫釜鎻掍欢, 鍒囪鍒嗛〉鏈�鍚庢坊鍔� + // 濡傛灉鏈夊鏁版嵁婧愬彲浠ヤ笉閰嶅叿浣撶被鍨�, 鍚﹀垯閮藉缓璁厤涓婂叿浣撶殑 DbType + return interceptor; + } + */ } -- Gitblit v1.8.0