浏览代码

优化count 分页问题

zhou-hao 5 年之前
父节点
当前提交
0cf4be6fe3

+ 8 - 2
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/plgins/pager/PagerInterceptor.java

@@ -49,8 +49,14 @@ public class PagerInterceptor implements Interceptor {
             MetaObject metaStatementHandler = SystemMetaObject.forObject(statementHandler);
             String sql = statementHandler.getBoundSql().getSql();
             Pager pager = Pager.getAndReset();
-            String newSql = sql;
-            if (sql.trim().toLowerCase().startsWith("select")) {
+
+            String lower = sql.trim();
+
+            if (lower.startsWith("select")) {
+                if (lower.contains("count(")) {
+                    return Plugin.wrap(target, this);
+                }
+                String newSql = sql;
                 if (pager != null) {
                     newSql = EasyOrmSqlBuilder.getInstance()
                             .getActiveDatabase().getDialect()