Class CountSqlParser

java.lang.Object
org.aoju.bus.pager.parser.CountSqlParser

public class CountSqlParser extends Object
sql解析类,提供更智能的count查询sql
Since:
Java 17+
Author:
Kimi Liu
  • Field Details

  • Constructor Details

    • CountSqlParser

      public CountSqlParser()
  • Method Details

    • addAggregateFunctions

      public static void addAggregateFunctions(String functions)
      添加到聚合函数,可以是逗号隔开的多个函数前缀
      Parameters:
      functions - 函数
    • getSmartCountSql

      public String getSmartCountSql(String sql)
      获取智能的countSql
      Parameters:
      sql - sql
      Returns:
      the string
    • getSmartCountSql

      public String getSmartCountSql(String sql, String column)
      获取智能的countSql
      Parameters:
      sql - sql
      column - 列名,默认 0
      Returns:
      the string
    • getSimpleCountSql

      public String getSimpleCountSql(String sql)
      获取普通的Count-sql
      Parameters:
      sql - 原查询sql
      Returns:
      返回count查询sql
    • getSimpleCountSql

      public String getSimpleCountSql(String sql, String name)
      获取普通的Count-sql
      Parameters:
      sql - 原查询sql
      name - 名称
      Returns:
      返回count查询sql
    • sqlToCount

      public void sqlToCount(net.sf.jsqlparser.statement.select.Select select, String name)
      将sql转换为count查询
      Parameters:
      select - 查询
      name - 名称
    • isSimpleCount

      public boolean isSimpleCount(net.sf.jsqlparser.statement.select.PlainSelect select)
      是否可以用简单的count查询方式
      Parameters:
      select - 查询
      Returns:
      the boolean
    • processSelectBody

      public void processSelectBody(net.sf.jsqlparser.statement.select.SelectBody selectBody)
      处理selectBody去除Order by
      Parameters:
      selectBody - 查询信息
    • processPlainSelect

      public void processPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect)
      处理PlainSelect类型的selectBody
      Parameters:
      plainSelect - 计划查询
    • processWithItemsList

      public void processWithItemsList(List<net.sf.jsqlparser.statement.select.WithItem> withItemsList)
      处理WithItem
      Parameters:
      withItemsList - WithItem
    • processFromItem

      public void processFromItem(net.sf.jsqlparser.statement.select.FromItem fromItem)
      处理子查询
      Parameters:
      fromItem - FromItem
    • orderByHashParameters

      public boolean orderByHashParameters(List<net.sf.jsqlparser.statement.select.OrderByElement> orderByElements)
      判断Orderby是否包含参数,有参数的不能去
      Parameters:
      orderByElements - OrderByElement
      Returns:
      the boolean