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 |   63 ++++++++++++++++++++++++++-----
 1 files changed, 53 insertions(+), 10 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 7f450f8..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
@@ -4,27 +4,70 @@
 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();
@@ -32,5 +75,5 @@
         // 濡傛灉鏈夊鏁版嵁婧愬彲浠ヤ笉閰嶅叿浣撶被鍨�, 鍚﹀垯閮藉缓璁厤涓婂叿浣撶殑 DbType
         return interceptor;
     }
-
+    */
 }

--
Gitblit v1.8.0