类 SelectSQLDruidParser

java.lang.Object
com.sh.wf.module.parser.SelectSQLDruidParser

public class SelectSQLDruidParser extends Object

Description: select SQL 分离,使用druid解析器

Title:首亨软件 - TSS/CRM等

从以下版本开始:
2018年1月5日
  • 构造器详细资料

    • SelectSQLDruidParser

      public SelectSQLDruidParser(String sql, DataCenter dc)
  • 方法详细资料

    • getDBType

      public static com.alibaba.druid.DbType getDBType(DataCenter dc)
    • appendWhere

      public boolean appendWhere(Map<String,DsFilterQueryMapValue> queryMap, DsFilterResult result)
      追加where条件
      参数:
      queryMap - Map
      result - DsFilterResult
      返回:
      boolean
    • appendWhereCondition

      public static void appendWhereCondition(ModuleContext context, DataCenter dc, List<SQLParserWhereInfo> whereInfoList, ParserSqlInfoRet sqlRet)
      追加where条件
      参数:
      context - ModuleContext
      dc - DataCenter
      whereInfoList - 查询条件对象
      sqlRet - 解析SQL对象
    • appendWhereCondition

      public static String appendWhereCondition(DataCenter dc, String sql, String colName, String where)
      追加where条件
      参数:
      dc - DataCenter
      sql - SQL
      colName - 追加的列名
      where - 条件,不加and,如 colName='a'
      返回:
      String
    • appendOrderByCondition

      public static String appendOrderByCondition(DataCenter dc, String sql, String orderbySql)
    • appendOrderByCondition

      public static String appendOrderByCondition(DataCenter dc, String sql, String orderbySql, boolean deleteOri)
      设置order by
      参数:
      dc -
      sql -
      orderbySql - 不要order by,直接输入 id asc
      返回:
    • removeOrderBy

      public static String removeOrderBy(DataCenter dc, String sql)
      删除order by
      参数:
      dc -
      sql -
      返回:
    • getOrderByAndClearAlias

      public static String getOrderByAndClearAlias(DataCenter dc, String sql)
      删除order by的列的别名
      参数:
      dc -
      sql - SQL语句
      返回:
      如:order by a.user_id,b.user_name 转换为:order by user_id,user_name 在DataPages中的sqlserver类型时嵌套SQL时用
    • getSelectColAlias

      public static String getSelectColAlias(DataCenter dc, String sql, String colName)
      获取查询列的别名
      参数:
      dc - DataCenter
      sql - String
      colName - String
      返回:
      String
    • deleteWhere

      public static String deleteWhere(DataCenter dc, String sql)
      删除where条件
      参数:
      dc - DataCenter
      sql - String
      返回:
      String
    • checkAutoChangeToPage

      public static boolean checkAutoChangeToPage(DataCenter dc, String sql)
      通过判断是否有分页,来进行强制sql进行分布查询判断
      参数:
      dc -
      sql -
      返回:
      boolean true 可以进行分布,false 不能再分页了
    • isValidSql

      public static boolean isValidSql(DataCenter dc, String sql)
      判断SQL是否合法的SQL,只要抛出ParserException就算非法SQL
      参数:
      dc -
      sql -
      返回:
    • getSql

      public String getSql()
    • convertOrderBy

      public String convertOrderBy(Datastore ds)
      将order by 条件转化为ds内部排序
      参数:
      ds - 等排序数据集
      返回:
      String
    • getGroupSqlSelect

      public static String getGroupSqlSelect(DataCenter dc, String sql, List<String> colList, List<String> groupByList)
      修改SQL为汇总语句,即group by 语句
      参数:
      sql -
      colList -
      groupByList -
      返回: