Administrator
1 days ago cd4748a35e265d8e4b0c3dafa40cc29ac7bfe4f4
feat(mybatis): 添加分页插件的 SQL 计数优化功能

- 引入 JsqlParserCountOptimize 类以支持 SQL 计数优化
- 配置分页插件启用 join 优化功能
- 支持带有 group by 子句的 SQL 语句计数优化
1 files modified
4 ■■■■ changed files
src/main/java/cc/mrbird/febs/common/configure/MybatisPlusConfigure.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/configure/MybatisPlusConfigure.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.parser.ISqlParser;
import com.baomidou.mybatisplus.extension.parsers.BlockAttackSqlParser;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
@@ -45,6 +46,9 @@
        List<ISqlParser> sqlParserList = new ArrayList<>();
        sqlParserList.add(new BlockAttackSqlParser());
        paginationInterceptor.setSqlParserList(sqlParserList);
        // 开启 count 的 join 优化,支持带 group by 的 sql
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }
}