Class JSqlServerPagesHelper49
java.lang.Object
org.jeecgframework.minidao.sqlparser.impl.util.v49.JSqlServerPagesHelper49
将sqlserver查询语句转换为分页语句
注意事项:
注意事项:
- 请先保证你的SQL可以执行
- sql中最好直接包含order by,可以自动从sql提取
- 如果没有order by,可以通过入参提供,但是需要自己保证正确
- 如果sql有order by,可以通过orderby参数覆盖sql中的order by
- order by的列名不能使用别名
- 表和列使用别名的时候不要使用单引号(')
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic Stringstatic Stringstatic Pattern匹配:user.name这样的参数表达式protected static final Stringprotected static final Stringprotected static final net.sf.jsqlparser.schema.Columnstatic final Stringstatic final net.sf.jsqlparser.expression.Aliasprotected static final Stringstatic final Stringprotected static final net.sf.jsqlparser.statement.select.Topprotected static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected net.sf.jsqlparser.statement.select.SelectItem<?>addRowNumber(net.sf.jsqlparser.statement.select.PlainSelect plainSelect, List<net.sf.jsqlparser.statement.select.SelectItem<?>> autoItems) 获取 ROW_NUMBER() 列protected net.sf.jsqlparser.statement.select.OrderByElementcloneOrderByElement(net.sf.jsqlparser.statement.select.OrderByElement orig, String alias) 复制 OrderByElementprotected net.sf.jsqlparser.statement.select.OrderByElementcloneOrderByElement(net.sf.jsqlparser.statement.select.OrderByElement orig, net.sf.jsqlparser.expression.Expression expression) 复制 OrderByElementconvertToPageSql(String sql) 转换为分页语句convertToPageSql(String sql, Integer offset, Integer limit) 转换为分页语句getKeyListByContent(String content) 按照动态内容的参数出现顺序,将参数放到List中protected List<net.sf.jsqlparser.statement.select.OrderByElement>getOrderByElements(net.sf.jsqlparser.statement.select.PlainSelect plainSelect, List<net.sf.jsqlparser.statement.select.SelectItem<?>> autoItems) 获取新的排序列表protected net.sf.jsqlparser.statement.select.SelectgetPageSelect(net.sf.jsqlparser.statement.select.Select select) 获取一个外层包装的TOP查询protected List<net.sf.jsqlparser.statement.select.SelectItem<?>>getSelectItems(net.sf.jsqlparser.statement.select.PlainSelect plainSelect) 获取查询列booleanisNotEmptyList(List<?> list) List不空protected voidprocessFromItem(net.sf.jsqlparser.statement.select.FromItem fromItem, int level) 处理子查询protected voidprocessPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect, int level) 处理PlainSelect类型的selectBodyprotected voidprocessSelectBody(net.sf.jsqlparser.statement.select.Select selectBody, int level) 处理selectBody去除Order byprotected net.sf.jsqlparser.statement.select.SelectwrapSetOperationList(net.sf.jsqlparser.statement.select.SetOperationList setOperationList) 包装SetOperationList
-
Field Details
-
START_ROW
-
PAGE_SIZE
-
WRAP_TABLE
- See Also:
-
PAGE_TABLE_NAME
- See Also:
-
PAGE_TABLE_ALIAS
public static final net.sf.jsqlparser.expression.Alias PAGE_TABLE_ALIAS -
PAGE_ROW_NUMBER
- See Also:
-
PAGE_ROW_NUMBER_COLUMN
protected static final net.sf.jsqlparser.schema.Column PAGE_ROW_NUMBER_COLUMN -
TOP100_PERCENT
protected static final net.sf.jsqlparser.statement.select.Top TOP100_PERCENT -
PAGE_COLUMN_ALIAS_PREFIX
- See Also:
-
dynamic
匹配:user.name这样的参数表达式 -
DIAN
-
DIAN_TMP
-
-
Constructor Details
-
JSqlServerPagesHelper49
public JSqlServerPagesHelper49()
-
-
Method Details
-
convertToPageSql
转换为分页语句- Parameters:
sql-- Returns:
-
convertToPageSql
转换为分页语句- Parameters:
sql-offset-limit-- Returns:
-
getKeyListByContent
按照动态内容的参数出现顺序,将参数放到List中- Parameters:
content-- Returns:
-
getPageSelect
protected net.sf.jsqlparser.statement.select.Select getPageSelect(net.sf.jsqlparser.statement.select.Select select) 获取一个外层包装的TOP查询- Parameters:
select-- Returns:
-
wrapSetOperationList
protected net.sf.jsqlparser.statement.select.Select wrapSetOperationList(net.sf.jsqlparser.statement.select.SetOperationList setOperationList) 包装SetOperationList- Parameters:
setOperationList-- Returns:
-
getSelectItems
protected List<net.sf.jsqlparser.statement.select.SelectItem<?>> getSelectItems(net.sf.jsqlparser.statement.select.PlainSelect plainSelect) 获取查询列- Parameters:
plainSelect-- Returns:
-
addRowNumber
protected net.sf.jsqlparser.statement.select.SelectItem<?> addRowNumber(net.sf.jsqlparser.statement.select.PlainSelect plainSelect, List<net.sf.jsqlparser.statement.select.SelectItem<?>> autoItems) 获取 ROW_NUMBER() 列- Parameters:
plainSelect- 原查询autoItems- 自动生成的查询列- Returns:
- ROW_NUMBER() 列
-
processSelectBody
protected void processSelectBody(net.sf.jsqlparser.statement.select.Select selectBody, int level) 处理selectBody去除Order by- Parameters:
selectBody-
-
processPlainSelect
protected void processPlainSelect(net.sf.jsqlparser.statement.select.PlainSelect plainSelect, int level) 处理PlainSelect类型的selectBody- Parameters:
plainSelect-
-
processFromItem
protected void processFromItem(net.sf.jsqlparser.statement.select.FromItem fromItem, int level) 处理子查询- Parameters:
fromItem-
-
isNotEmptyList
List不空- Parameters:
list-- Returns:
-
cloneOrderByElement
protected net.sf.jsqlparser.statement.select.OrderByElement cloneOrderByElement(net.sf.jsqlparser.statement.select.OrderByElement orig, String alias) 复制 OrderByElement- Parameters:
orig- 原 OrderByElementalias- 新 OrderByElement 的排序要素- Returns:
- 复制的新 OrderByElement
-
cloneOrderByElement
protected net.sf.jsqlparser.statement.select.OrderByElement cloneOrderByElement(net.sf.jsqlparser.statement.select.OrderByElement orig, net.sf.jsqlparser.expression.Expression expression) 复制 OrderByElement- Parameters:
orig- 原 OrderByElementexpression- 新 OrderByElement 的排序要素- Returns:
- 复制的新 OrderByElement
-
getOrderByElements
protected List<net.sf.jsqlparser.statement.select.OrderByElement> getOrderByElements(net.sf.jsqlparser.statement.select.PlainSelect plainSelect, List<net.sf.jsqlparser.statement.select.SelectItem<?>> autoItems) 获取新的排序列表- Parameters:
plainSelect- 原始查询autoItems- 生成的新查询要素- Returns:
- 新的排序列表
-