Class SimpleSqlProcessor
java.lang.Object
org.jeecgframework.minidao.sqlparser.impl.SimpleSqlProcessor
- All Implemented Interfaces:
AbstractSqlProcessor
简单SQL解析器(采用正则)
- Author:
- zhang
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddOrderBy(String sql, String field, boolean isAsc) 在SQL的最外层增加或修改ORDER BY子句addWhereCondition(String sql, String condition) 为SQL语句增加查询条件(直接使用条件语句) for [issues/8336]支持SqlServer数据使用sql排序,新方案。addWhereCondition(String sql, String field, Object value, String operator) 为SQL语句增加查询条件(使用字段、值和操作符) for [issues/8336]支持SqlServer数据使用sql排序,新方案。getCountSql(String sql) 获取SQL查询记录数SQLgetQueryTableInfo(String sql) 根据 sql语句 获取表和字段信息getSqlServerPageSql(String sql, MiniDaoPage miniDaoPage) 获取SqlServer分页SQLparseAllSelectTable(String selectSql) 注:使用正则方式解析具有缺陷,并不能保证能解析出所有表名,并且 SelectSqlInfo 中只有表名信息,没有其他字段的信息解析 SQL 查询,将 SELECT 字段映射到 (alias或列名) -> (完整字段表达式) 的 Map 中。parseSelectSqlInfo(String selectSql) 注:使用正则方式解析具有缺陷, SelectSqlInfo 中只有表名信息,没有其他字段的信息parseSqlFields(String parsedSql) 解析SQL查询字段removeOrderBy(String sql) 去除排序SQL片段
-
Constructor Details
-
SimpleSqlProcessor
public SimpleSqlProcessor()
-
-
Method Details
-
getSqlServerPageSql
Description copied from interface:AbstractSqlProcessor获取SqlServer分页SQL- Specified by:
getSqlServerPageSqlin interfaceAbstractSqlProcessor- Returns:
-
getCountSql
Description copied from interface:AbstractSqlProcessor获取SQL查询记录数SQL- Specified by:
getCountSqlin interfaceAbstractSqlProcessor- Returns:
-
removeOrderBy
去除排序SQL片段- Specified by:
removeOrderByin interfaceAbstractSqlProcessor- Parameters:
sql-- Returns:
-
parseSqlFields
解析SQL查询字段- Specified by:
parseSqlFieldsin interfaceAbstractSqlProcessor- Parameters:
parsedSql-- Returns:
-
addOrderBy
在SQL的最外层增加或修改ORDER BY子句- Specified by:
addOrderByin interfaceAbstractSqlProcessor- Parameters:
sql- 原始SQLfield- 新的ORDER BY字段isAsc- 是否正序- Returns:
-
parseAllSelectTable
注:使用正则方式解析具有缺陷,并不能保证能解析出所有表名,并且 SelectSqlInfo 中只有表名信息,没有其他字段的信息- Specified by:
parseAllSelectTablein interfaceAbstractSqlProcessor- Parameters:
selectSql- 待解析的SQL- Returns:
-
parseSelectSqlInfo
注:使用正则方式解析具有缺陷, SelectSqlInfo 中只有表名信息,没有其他字段的信息- Specified by:
parseSelectSqlInfoin interfaceAbstractSqlProcessor- Parameters:
selectSql- 待解析的SQL- Returns:
-
getQueryTableInfo
Description copied from interface:AbstractSqlProcessor根据 sql语句 获取表和字段信息- Specified by:
getQueryTableInfoin interfaceAbstractSqlProcessor- Parameters:
sql- sql语句
-
parseSelectAliasMap
Description copied from interface:AbstractSqlProcessor解析 SQL 查询,将 SELECT 字段映射到 (alias或列名) -> (完整字段表达式) 的 Map 中。 for [QQYUN-13476]online 报表SqlServer兼容改造完- Specified by:
parseSelectAliasMapin interfaceAbstractSqlProcessor- Parameters:
sql- 要解析的 SQL 查询语句- Returns:
- 字段映射:key 为别名(若有)或列名(无表名前缀),value 为对应的完整表达式字符串
-
addWhereCondition
为SQL语句增加查询条件(直接使用条件语句) for [issues/8336]支持SqlServer数据使用sql排序,新方案。- Specified by:
addWhereConditionin interfaceAbstractSqlProcessor- Parameters:
sql- 原始SQLcondition- 查询条件(不含where关键字)- Returns:
- 添加查询条件后的SQL
-
addWhereCondition
为SQL语句增加查询条件(使用字段、值和操作符) for [issues/8336]支持SqlServer数据使用sql排序,新方案。- Specified by:
addWhereConditionin interfaceAbstractSqlProcessor- Parameters:
sql- 原始SQLfield- 字段名value- 字段值operator- 比较操作符(如:=, >, <, !=, like等)- Returns:
- 添加查询条件后的SQL
-