public class SelectSQLDruidParser
extends java.lang.Object
Description: select SQL 分离,使用druid解析器
Title:首亨软件 - TSS/CRM等
构造器和说明 |
---|
SelectSQLDruidParser(java.lang.String sql,
DataCenter dc) |
限定符和类型 | 方法和说明 |
---|---|
static java.lang.String |
appendOrderByCondition(DataCenter dc,
java.lang.String sql,
java.lang.String orderbySql) |
static java.lang.String |
appendOrderByCondition(DataCenter dc,
java.lang.String sql,
java.lang.String orderbySql,
boolean deleteOri)
设置order by
|
boolean |
appendWhere(java.util.Map<java.lang.String,DsFilterQueryMapValue> queryMap,
DsFilterResult result)
追加where条件
|
static java.lang.String |
appendWhereCondition(DataCenter dc,
java.lang.String sql,
java.lang.String colName,
java.lang.String where)
追加where条件
|
static void |
appendWhereCondition(ModuleContext context,
DataCenter dc,
java.util.List<SQLParserWhereInfo> whereInfoList,
ParserSqlInfoRet sqlRet)
追加where条件
|
java.lang.String |
convertOrderBy(Datastore ds)
将order by 条件转化为ds内部排序
|
static java.lang.String |
deleteWhere(DataCenter dc,
java.lang.String sql)
删除where条件
|
static com.alibaba.druid.DbType |
getDBType(DataCenter dc) |
static java.lang.String |
getGroupSqlSelect(DataCenter dc,
java.lang.String sql,
java.util.List<java.lang.String> colList,
java.util.List<java.lang.String> groupByList)
修改SQL为汇总语句,即group by 语句
|
static java.lang.String |
getSelectColAlias(DataCenter dc,
java.lang.String sql,
java.lang.String colName)
获取查询列的别名
|
java.lang.String |
getSql() |
static boolean |
isValidSql(DataCenter dc,
java.lang.String sql)
判断SQL是否合法的SQL,只要抛出ParserException就算非法SQL
|
static void |
main(java.lang.String[] args) |
static java.lang.String |
removeOrderBy(DataCenter dc,
java.lang.String sql)
删除order by
|
public SelectSQLDruidParser(java.lang.String sql, DataCenter dc)
public static com.alibaba.druid.DbType getDBType(DataCenter dc)
public boolean appendWhere(java.util.Map<java.lang.String,DsFilterQueryMapValue> queryMap, DsFilterResult result)
queryMap
- Mapresult
- DsFilterResultpublic static void appendWhereCondition(ModuleContext context, DataCenter dc, java.util.List<SQLParserWhereInfo> whereInfoList, ParserSqlInfoRet sqlRet)
context
- ModuleContextdc
- DataCenterwhereInfoList
- 查询条件对象sqlRet
- 解析SQL对象public static java.lang.String appendWhereCondition(DataCenter dc, java.lang.String sql, java.lang.String colName, java.lang.String where)
dc
- DataCentersql
- SQLcolName
- 追加的列名where
- 条件,不加and,如 colName='a'public static java.lang.String appendOrderByCondition(DataCenter dc, java.lang.String sql, java.lang.String orderbySql)
public static java.lang.String appendOrderByCondition(DataCenter dc, java.lang.String sql, java.lang.String orderbySql, boolean deleteOri)
dc
- sql
- orderbySql
- 不要order by,直接输入 id ascpublic static java.lang.String removeOrderBy(DataCenter dc, java.lang.String sql)
dc
- sql
- public static java.lang.String getSelectColAlias(DataCenter dc, java.lang.String sql, java.lang.String colName)
dc
- DataCentersql
- StringcolName
- Stringpublic static java.lang.String deleteWhere(DataCenter dc, java.lang.String sql)
dc
- DataCentersql
- Stringpublic static boolean isValidSql(DataCenter dc, java.lang.String sql)
dc
- sql
- public java.lang.String getSql()
public java.lang.String convertOrderBy(Datastore ds)
ds
- 等排序数据集public static java.lang.String getGroupSqlSelect(DataCenter dc, java.lang.String sql, java.util.List<java.lang.String> colList, java.util.List<java.lang.String> groupByList)
sql
- colList
- groupByList
- dbType
- public static void main(java.lang.String[] args)