类 SelectSQLDruidParser
java.lang.Object
com.sh.wf.module.parser.SelectSQLDruidParser
Description: select SQL 分离,使用druid解析器
Title:首亨软件 - TSS/CRM等
- 从以下版本开始:
- 2018年1月5日
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static StringappendOrderByCondition(DataCenter dc, String sql, String orderbySql) static StringappendOrderByCondition(DataCenter dc, String sql, String orderbySql, boolean deleteOri) 设置order bybooleanappendWhere(Map<String, DsFilterQueryMapValue> queryMap, DsFilterResult result) 追加where条件static StringappendWhereCondition(DataCenter dc, String sql, String colName, String where) 追加where条件static voidappendWhereCondition(ModuleContext context, DataCenter dc, List<SQLParserWhereInfo> whereInfoList, ParserSqlInfoRet sqlRet) 追加where条件static booleancheckAutoChangeToPage(DataCenter dc, String sql) 通过判断是否有分页,来进行强制sql进行分布查询判断将order by 条件转化为ds内部排序static StringdeleteWhere(DataCenter dc, String sql) 删除where条件static com.alibaba.druid.DbTypegetDBType(DataCenter dc) static StringgetGroupSqlSelect(DataCenter dc, String sql, List<String> colList, List<String> groupByList) 修改SQL为汇总语句,即group by 语句static StringgetOrderByAndClearAlias(DataCenter dc, String sql) 删除order by的列的别名static StringgetSelectColAlias(DataCenter dc, String sql, String colName) 获取查询列的别名getSql()static booleanisValidSql(DataCenter dc, String sql) 判断SQL是否合法的SQL,只要抛出ParserException就算非法SQLstatic StringremoveOrderBy(DataCenter dc, String sql) 删除order by
-
构造器详细资料
-
SelectSQLDruidParser
-
-
方法详细资料
-
getDBType
-
appendWhere
追加where条件- 参数:
queryMap- Mapresult- DsFilterResult- 返回:
- boolean
-
appendWhereCondition
public static void appendWhereCondition(ModuleContext context, DataCenter dc, List<SQLParserWhereInfo> whereInfoList, ParserSqlInfoRet sqlRet) 追加where条件- 参数:
context- ModuleContextdc- DataCenterwhereInfoList- 查询条件对象sqlRet- 解析SQL对象
-
appendWhereCondition
追加where条件- 参数:
dc- DataCentersql- SQLcolName- 追加的列名where- 条件,不加and,如 colName='a'- 返回:
- String
-
appendOrderByCondition
-
appendOrderByCondition
public static String appendOrderByCondition(DataCenter dc, String sql, String orderbySql, boolean deleteOri) 设置order by- 参数:
dc-sql-orderbySql- 不要order by,直接输入 id asc- 返回:
-
removeOrderBy
删除order by- 参数:
dc-sql-- 返回:
-
getOrderByAndClearAlias
删除order by的列的别名- 参数:
dc-sql- SQL语句- 返回:
- 如:order by a.user_id,b.user_name 转换为:order by user_id,user_name 在DataPages中的sqlserver类型时嵌套SQL时用
-
getSelectColAlias
获取查询列的别名- 参数:
dc- DataCentersql- StringcolName- String- 返回:
- String
-
deleteWhere
删除where条件- 参数:
dc- DataCentersql- String- 返回:
- String
-
checkAutoChangeToPage
通过判断是否有分页,来进行强制sql进行分布查询判断- 参数:
dc-sql-- 返回:
- boolean true 可以进行分布,false 不能再分页了
-
isValidSql
判断SQL是否合法的SQL,只要抛出ParserException就算非法SQL- 参数:
dc-sql-- 返回:
-
getSql
-
convertOrderBy
将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-- 返回:
-