public class SQLServer2012Dialect extends SQLServer2008Dialect
使用 OFFSET FETCH 分页算法
该算百万分页性能可以每页保持几百ms,适用于sqlserver2012+
DISTINCT, FROM, LOGGER, ORDER_BY, ORDER_BY_PATTERN, SELECT| 构造器和说明 |
|---|
SQLServer2012Dialect() |
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
applyLocksToSql(java.lang.String arg0,
java.util.Map arg1,
java.util.Map arg2) |
int |
convertToFirstRowValue(int zeroBasedFirstResult) |
boolean |
dropTemporaryTableAfterUse() |
java.lang.String |
generateTemporaryTableName(java.lang.String arg0) |
java.lang.String |
getAddColumnString() |
java.lang.String |
getCreateSequenceString(java.lang.String sequenceName) |
java.lang.String |
getDropSequenceString(java.lang.String sequenceName) |
java.lang.String |
getForUpdateString() |
java.lang.String |
getIdentityColumnString() |
java.lang.String |
getIdentitySelectString() |
java.lang.String |
getLimitString(java.lang.String querySelect,
int offset,
int limit)
SQLServer 强制使用 OFFSET/LIMIT 遵循以下规则
1.
|
java.lang.String |
getNullColumnString() |
java.lang.String |
getQuerySequencesString() |
java.sql.ResultSet |
getResultSet(java.sql.CallableStatement arg0) |
java.lang.String |
getSelectSequenceNextValString(java.lang.String sequenceName) |
java.lang.String |
getSequenceNextValString(java.lang.String sequenceName) |
boolean |
isCurrentTimestampSelectStringCallable() |
boolean |
qualifyIndexName() |
int |
registerResultSetOutParameter(java.sql.CallableStatement arg0,
int arg1) |
boolean |
supportsCurrentTimestampSelection() |
boolean |
supportsEmptyInList() |
boolean |
supportsExistsInSelect() |
boolean |
supportsIdentityColumns() |
boolean |
supportsInsertSelectIdentity() |
boolean |
supportsLimit() |
boolean |
supportsLimitOffset() |
boolean |
supportsPooledSequences() |
boolean |
supportsSequences() |
boolean |
supportsTemporaryTables() |
boolean |
supportsVariableLimit() |
boolean |
useMaxForLimit() |
bindLimitParametersFirst, doWithRowNumber, findIndexOfPattern, getLimitString, getSelectColumnsWithoutAliases, relaceAllColumnsAliases, replaceDistinctWithGroupBygetModifyColumnString, getTextLimitappendIdentitySelectToInsert, appendLockHint, areStringComparisonsCaseInsensitive, closeQuote, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, getCurrentTimestampSelectString, getNoColumnsInsertString, getSelectGUIDString, openQuote, supportsCircularCascadeDeleteConstraints, supportsLobValueChangePropogation, supportsResultSetPositionQueryMethodsOnForwardOnlyCursorbindLimitParametersInReverseOrder, buildSQLExceptionConverter, createCaseFragment, createOuterJoinFragment, dropConstraints, forceLimitUsage, forUpdateOfColumns, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getCascadeConstraintsString, getCastTypeName, getColumnComment, getCreateMultisetTableString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCurrentTimestampSQLFunctionName, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSequenceStrings, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getKeywords, getLockingStrategy, getLowercaseFunction, getMaxAliasLength, getNativeIdentifierGeneratorClass, getSelectClauseNullString, getTableComment, getTableTypeString, getTypeName, getTypeName, getViolatedConstraintNameExtracter, hasAlterTable, hasDataTypeInIdentityColumn, hasSelfReferentialForeignKeyBug, performTemporaryTableDDLInIsolation, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, requiresCastingOfParametersInSelectClause, supportsBindAsCallableArgument, supportsCascadeDelete, supportsColumnCheck, supportsCommentOn, supportsExpectedLobUsagePattern, supportsIfExistsAfterTableName, supportsIfExistsBeforeTableName, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnique, supportsUniqueConstraintInCreateAlterTable, toBooleanValueString, toString, transformSelectString, useInputStreamToInsertBlobpublic java.lang.String getLimitString(java.lang.String querySelect,
int offset,
int limit)
getLimitString 在类中 SQLServer2005DialectquerySelect - offset - limit - public boolean useMaxForLimit()
useMaxForLimit 在类中 SQLServer2005Dialectpublic int convertToFirstRowValue(int zeroBasedFirstResult)
public boolean supportsLimitOffset()
public boolean supportsLimit()
supportsLimit 在类中 SQLServer2005Dialectpublic boolean supportsVariableLimit()
public boolean supportsSequences()
supportsSequences 在类中 org.hibernate.dialect.Dialectpublic boolean supportsPooledSequences()
supportsPooledSequences 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getCreateSequenceString(java.lang.String sequenceName)
getCreateSequenceString 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getDropSequenceString(java.lang.String sequenceName)
getDropSequenceString 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getSelectSequenceNextValString(java.lang.String sequenceName)
getSelectSequenceNextValString 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getSequenceNextValString(java.lang.String sequenceName)
getSequenceNextValString 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getQuerySequencesString()
getQuerySequencesString 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getAddColumnString()
getAddColumnString 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getNullColumnString()
getNullColumnString 在类中 org.hibernate.dialect.Dialectpublic boolean qualifyIndexName()
qualifyIndexName 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getForUpdateString()
getForUpdateString 在类中 org.hibernate.dialect.Dialectpublic boolean supportsIdentityColumns()
supportsIdentityColumns 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getIdentitySelectString()
getIdentitySelectString 在类中 org.hibernate.dialect.Dialectpublic java.lang.String getIdentityColumnString()
getIdentityColumnString 在类中 org.hibernate.dialect.Dialectpublic boolean supportsInsertSelectIdentity()
supportsInsertSelectIdentity 在类中 org.hibernate.dialect.Dialectpublic java.lang.String applyLocksToSql(java.lang.String arg0,
java.util.Map arg1,
java.util.Map arg2)
applyLocksToSql 在类中 org.hibernate.dialect.Dialectpublic int registerResultSetOutParameter(java.sql.CallableStatement arg0,
int arg1)
throws java.sql.SQLException
registerResultSetOutParameter 在类中 org.hibernate.dialect.Dialectjava.sql.SQLExceptionpublic java.sql.ResultSet getResultSet(java.sql.CallableStatement arg0)
throws java.sql.SQLException
getResultSet 在类中 org.hibernate.dialect.Dialectjava.sql.SQLExceptionpublic boolean supportsCurrentTimestampSelection()
supportsCurrentTimestampSelection 在类中 org.hibernate.dialect.Dialectpublic boolean isCurrentTimestampSelectStringCallable()
isCurrentTimestampSelectStringCallable 在类中 org.hibernate.dialect.Dialectpublic boolean supportsTemporaryTables()
supportsTemporaryTables 在类中 org.hibernate.dialect.Dialectpublic java.lang.String generateTemporaryTableName(java.lang.String arg0)
generateTemporaryTableName 在类中 org.hibernate.dialect.Dialectpublic boolean dropTemporaryTableAfterUse()
dropTemporaryTableAfterUse 在类中 org.hibernate.dialect.Dialectpublic boolean supportsEmptyInList()
supportsEmptyInList 在类中 org.hibernate.dialect.Dialectpublic boolean supportsExistsInSelect()
supportsExistsInSelect 在类中 org.hibernate.dialect.Dialect