TableQuery<T> Klasse
- java.
lang. Object - com.
microsoft. azure. storage. table. TableQuery<T>
- com.
Typparameter
- T
Ein Klassentyp, der einen nullären Konstruktor implementiert TableEntity und enthält. Hinweis: Wenn Sie eine innere Klasse zum Definieren des Klassentyps verwenden, markieren Sie die Klasse als statisch.
public class TableQuery
Eine Klasse, die eine Abfrage für eine angegebene Tabelle darstellt. Ein TableQuery<T> instance aggregiert die Abfrageparameter, die beim Ausführen der Abfrage verwendet werden sollen. Eine der Methoden oder von CloudTableClient muss aufgerufen werden, um die Abfrage auszuführen. Die Parameter werden codiert und an den Server übergeben, wenn die Tabellenabfrage ausgeführt wird.
Um eine Tabellenabfrage mit fluent-Syntax zu erstellen, geben die from(final Class<T> clazzType) statische Factory-Methode und die where(final String filter)Methoden , select(final String[] columns)und take(final Integer take) Mutator jeweils einen Verweis auf das -Objekt zurück, der in einem einzelnen Ausdruck verkettet werden kann. Verwenden Sie die factory-Methode der from(Class) statischen Klasse, um eine instance zu erstellen, die für die benannte Tabelle mit Entitäten des angegebenen TableEntity Implementierungstyps ausgeführt wird. Verwenden Sie die where(final String filter) -Methode, um einen Filterausdruck für die zurückgegebenen Entitäten anzugeben. Verwenden Sie die select(final String[] columns) -Methode, um die zurückzugebenden Tabellenentitätseigenschaften anzugeben. Verwenden Sie die take(final Integer take) -Methode, um die Anzahl der von der Abfrage zurückgegebenen Entitäten zu begrenzen. Beachten Sie, dass nichts verhindert, dass diese Methoden mehrmals auf einem aufgerufen werden, sodass die in gespeicherten Werte die zuletzt in der Reihenfolge der Ausführung gefundene sind.
Als Beispiel könnten Sie eine Tabellenabfrage mit fluent-Syntax erstellen:
In diesem Beispiel wird eine Abfrage für die Tabelle "Products" für alle Entitäten erstellt, bei denen der PartitionKey-Wert "ProductsMNO" und der RowKey-Wert größer oder gleich "Napkin" ist, und fordert die ersten 25 übereinstimmenden Entitäten an, wobei nur die allgemeinen Eigenschaften und die Eigenschaft mit dem Namen "InventoryCount" ausgewählt und als DynamicTableEntity Objekte zurückgegeben werden.
Filterausdrücke für die Verwendung mit der -Methode oder setFilterString(final String filterString) -Methode können mithilfe der where(final String filter) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken.
Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema Abfragen von Tabellen und Entitäten ausführlicher erläutert. Beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage geschieht.
Die TableQuery#TableQuery(Class) Konstruktor- und TableQuery#from(Class) statischen Factorymethoden erfordern einen Klassentyp, der einen Nullary-Konstruktor implementiert TableEntity und enthält. Wenn die Abfrage mit einem EntityResolver<T>ausgeführt wird, kann der Aufrufer als Klassentyp angeben TableServiceEntity .
Zusammenfassung zum Konstruktor
Konstruktor | Beschreibung |
---|---|
TableQuery() |
Initialisiert eine leere TableQuery<T> instance. Diese Tabellenabfrage kann nicht ausgeführt werden, ohne einen Tabellenentitätstyp festzulegen. |
TableQuery(final Class<T> clazzType) |
Initialisiert eine TableQuery<T> mit dem angegebenen Tabellenentitätstyp. Aufrufer können als Klassentypparameter angeben TableServiceEntity , wenn kein spezieller Typ mehr erforderlich ist. |
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
String |
combineFilters(String filterA, String operator, String filterB)
Erstellt eine Filterbedingung mithilfe des angegebenen logischen Operators für zwei Filterbedingungen. |
static<T extends Table |
from(final Class<T> clazzType)
Eine statische Factorymethode, die eine TableQuery<T> instance erstellt und ihren Tabellenentitätstyp definiert. Die -Methode gibt den TableQuery<T> instance-Verweis zurück, sodass zusätzliche Methoden verkettet werden können, um die Abfrage zu ändern. Der erstellte TableQuery<T> instance ist spezialisiert auf Tabellenentitäten des angegebenen Klassentyps T. Aufrufer können als Klassentypparameter angebenTableServiceEntity, wenn kein speziellerer Typ erforderlich ist. |
String |
generateFilterCondition(String propertyName, String operation, final boolean value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem wert zu vergleichen, der wie im folgenden Beispiel als boolescher Wert formatiert ist: Diese Anweisung legt den folgenden Wert fest: |
String |
generateFilterCondition(String propertyName, String operation, final byte[] value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als Binärwert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt: Diese Anweisung legt den folgenden Wert fest: |
String |
generateFilterCondition(String propertyName, String operation, final Byte[] value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als Binärwert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt: Diese Anweisung legt den folgenden Wert fest: |
String |
generateFilterCondition(String propertyName, String operation, final Date value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem wert zu vergleichen, der als datetime-Wert formatiert ist, wie im folgenden Beispiel dargestellt: Diese Anweisung legt etwa den folgenden Wert fest: |
String |
generateFilterCondition(String propertyName, String operation, final double value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als Double-Wert formatiert ist: Diese Anweisung legt den folgenden Wert fest: |
String |
generateFilterCondition(String propertyName, String operation, final int value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als numerischen Wert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt: Diese Anweisung legt den folgenden Wert fest: |
String |
generateFilterCondition(String propertyName, String operation, final long value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als numerischen Wert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt: Diese Anweisung legt den folgenden Wert fest: |
String |
generateFilterCondition(String propertyName, String operation, final String value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als Zeichenfolgenwert formatiert ist: Diese Anweisung legt den folgenden Wert fest: |
String |
generateFilterCondition(String propertyName, String operation, final UUID value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als UUID-Wert formatiert ist: Diese Anweisung legt den folgenden Wert fest: |
String |
generateFilterCondition(String propertyName, String operation, String value, EdmType edmType)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als angegebenen EdmTypeformatierten Wert zu vergleichen. |
Uri |
generateQueryBuilder()
Für die interne Verwendung reserviert. Erstellt ein UriQueryBuilder Objekt, das die Tabellenabfrage darstellt. |
Class<T> |
getClazzType()
Ruft den Klassentyp der von der Abfrage zurückgegebenen Tabellenentitäten ab. |
String [] |
getColumns()
Ruft ein Array der In der Tabellenabfrage angegebenen Namen der Tabellenentitätseigenschaft ab. Alle Eigenschaften in der Tabelle werden standardmäßig zurückgegeben, wenn keine Eigenschaftennamen mit einer select-Klausel in der Tabellenabfrage angegeben werden. Die zurückzugebenden Tabellenentitätseigenschaften können mit einem Aufruf der setColumns(final String[] columns) -Methode oder select(final String[] columns) mit einem Array von Eigenschaftennamen als Parameter angegeben werden. Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht. |
String |
getFilterString()
Ruft den in der Tabellenabfrage angegebenen Filterausdruck ab. Alle Entitäten in der Tabelle werden standardmäßig zurückgegeben, wenn in der Tabellenabfrage kein Filterausdruck angegeben ist. Ein Filter für die zurückzugebenden Entitäten kann mit einem Aufruf der setFilterString(final String filterString) -Methode oder where(final String filter) angegeben werden. |
String |
getSourceTableName()
Ruft den Namen der Quelltabelle ab, die in der Tabellenabfrage angegeben ist. |
Integer |
getTakeCount()
Ruft die Anzahl der Von der Abfrage zurückgegebenen Entitäten ab, die in der Tabellenabfrage angegeben ist. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden maximal 1.000 Einträge zurückgegeben. Die Anzahl der zurückzugebenden Entitäten kann mit einem Aufruf der setTakeCount(final Integer takeCount) -Methode oder take(final Integer take) angegeben werden. Wenn der von zurückgegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException . |
Table |
select(final String[] columns)
Definiert die Eigenschaftsnamen der Tabellenentitätseigenschaften, die bei Ausführung der Tabellenabfrage zurückgegeben werden sollen. Die -Klausel ist optional für eine Tabellenabfrage, die verwendet wird, um die vom Server zurückgegebenen Tabelleneigenschaften zu begrenzen. Standardmäßig gibt eine Abfrage alle Eigenschaften aus der Tabellenentität zurück. Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht. |
void |
setClazzType(final Class<T> clazzType)
Legt den Klassentyp der von der Abfrage zurückgegebenen Tabellenentitäten fest. Zum Ausführen einer Tabellenabfrage ist ein Klassentyp erforderlich. Aufrufer können als Klassentypparameter angeben TableServiceEntity , wenn kein spezieller Typ mehr erforderlich ist. |
void |
setColumns(final String[] columns)
Legt die Eigenschaftennamen der Tabellenentitätseigenschaften fest, die zurückgegeben werden sollen, wenn die Tabellenabfrage ausgeführt wird. Standardmäßig gibt eine Abfrage alle Eigenschaften aus der Tabellenentität zurück. Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht. |
void |
setFilterString(final String filterString)
Legt den Filterausdruck fest, der in der Tabellenabfrage verwendet werden soll. Ein Filterausdruck ist optional. Standardmäßig gibt eine Tabellenabfrage alle Entitäten in der Tabelle zurück. Filterausdrücke für die Verwendung mit der -Methode können mithilfe der setFilterString(final String filterString) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken. Um beispielsweise alle Entitäten mit dem PartitionKey-Wert "AccessLogs" für die Tabellenabfrage abzufragen: Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema ausführlicher erläutert.
Abfragen von Tabellen und Entitäten, beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage erfolgt. Beachten Sie, dass innerhalb einer Filterzeichenfolge nicht mehr als 15 diskrete Vergleiche zulässig sind. |
void |
setSourceTableName(final String sourceTableName)
Legt den Namen der Quelltabelle für die Tabellenabfrage fest. Eine Tabellenabfrage muss über eine Quelltabelle verfügen, die ausgeführt werden soll. |
void |
setTakeCount(final Integer takeCount)
Legt die Obergrenze für die Anzahl von Entitäten fest, die die Abfrage zurückgibt. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden standardmäßig maximal 1.000 Einträge zurückgegeben. Wenn der für den Parameter angegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException . |
Table |
take(final Integer take)
Definiert die obere Grenze für die Anzahl der Entitäten, die von der Abfrage zurückgegeben werden. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden standardmäßig maximal 1.000 Einträge zurückgegeben. Wenn der für den Parameter angegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException . |
Table |
where(final String filter)
Definiert einen Filterausdruck für die Tabellenabfrage. Nur Entitäten, die dem angegebenen Filterausdruck entsprechen, werden von der Abfrage zurückgegeben. Das Festlegen eines Filterausdrucks ist optional. Standardmäßig werden alle Entitäten in der Tabelle zurückgegeben, wenn kein Filterausdruck in der Tabellenabfrage angegeben ist. Filterausdrücke für die Verwendung mit der -Methode können mithilfe der where(final String filter) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken. Um beispielsweise alle Entitäten mit dem PartitionKey-Wert "AccessLogs" für die Tabellenabfrage abzufragen: Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema ausführlicher erläutert.
Abfragen von Tabellen und Entitäten, beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage erfolgt. Beachten Sie, dass innerhalb einer Filterzeichenfolge nicht mehr als 15 diskrete Vergleiche zulässig sind. |
Details zum Konstruktor
TableQuery
public TableQuery()
Initialisiert eine leere TableQuery<T> instance. Diese Tabellenabfrage kann nicht ausgeführt werden, ohne einen Tabellenentitätstyp festzulegen.
TableQuery
public TableQuery(final Class
Initialisiert eine TableQuery<T> mit dem angegebenen Tabellenentitätstyp. Aufrufer können als Klassentypparameter angeben TableServiceEntity , wenn kein spezieller Typ mehr erforderlich ist.
Parameters:
java.lang.Class
der -Klasse T
, die den Tabellenentitätstyp für die Abfrage darstellt. Die Klasse T
muss ein Typ sein, der TableEntity implementiert und über einen Nullary-Konstruktor verfügt.
Details zur Methode
combineFilters
public static String combineFilters(String filterA, String operator, String filterB)
Erstellt eine Filterbedingung mithilfe des angegebenen logischen Operators für zwei Filterbedingungen.
Parameters:
String
, die die erste formatierte Filterbedingung angibt.
String
, die oder Operators.OR
angibtOperators.AND
.
String
, die die erste formatierte Filterbedingung angibt.
Returns:
String
, der den kombinierten Filterausdruck darstellt.from
public static static
Eine statische Factorymethode, die eine TableQuery<T> instance erstellt und ihren Tabellenentitätstyp definiert. Die -Methode gibt den TableQuery<T> instance-Verweis zurück, sodass zusätzliche Methoden verkettet werden können, um die Abfrage zu ändern.
Der erstellte TableQuery<T> instance ist spezialisiert auf Tabellenentitäten des angegebenen Klassentyps T. Aufrufer können als Klassentypparameter angebenTableServiceEntity, wenn kein speziellerer Typ erforderlich ist.
Parameters:
java.lang.Class
der -Klasse T
, die die TableEntity Schnittstelle implementiert, die den Tabellenentitätstyp für die Abfrage darstellt.
Returns:
generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, final boolean value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem wert zu vergleichen, der wie im folgenden Beispiel als boolescher Wert formatiert ist:
Diese Anweisung legt den folgenden Wert fest:
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
boolean
, der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, final byte[] value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als Binärwert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:
Diese Anweisung legt den folgenden Wert fest:
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
byte
Array, das den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, final Byte[] value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als Binärwert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:
Diese Anweisung legt den folgenden Wert fest:
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
Byte
Array, das den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, final Date value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem wert zu vergleichen, der als datetime-Wert formatiert ist, wie im folgenden Beispiel dargestellt:
Diese Anweisung legt etwa den folgenden Wert fest:
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
java.util.Date
, der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, final double value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als Double-Wert formatiert ist:
Diese Anweisung legt den folgenden Wert fest:
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
double
, der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, final int value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als numerischen Wert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:
Diese Anweisung legt den folgenden Wert fest:
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
int
, der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, final long value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als numerischen Wert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:
Diese Anweisung legt den folgenden Wert fest:
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
long
, der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, final String value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als Zeichenfolgenwert formatiert ist:
Diese Anweisung legt den folgenden Wert fest:
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
String
, der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, final UUID value)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als UUID-Wert formatiert ist:
Diese Anweisung legt den folgenden Wert fest:
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
UUID
, der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateFilterCondition
public static String generateFilterCondition(String propertyName, String operation, String value, EdmType edmType)
Generiert eine Eigenschaftenfilterbedingungszeichenfolge. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als angegebenen EdmTypeformatierten Wert zu vergleichen.
Parameters:
String
, der den Namen der zu vergleichenden Eigenschaft angibt.
String
, der den zu verwendenden Vergleichsoperator angibt.
String
, der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
Returns:
String
, die die formatierte Filterbedingung darstellt.generateQueryBuilder
protected UriQueryBuilder generateQueryBuilder()
Für die interne Verwendung reserviert. Erstellt ein UriQueryBuilder Objekt, das die Tabellenabfrage darstellt.
Returns:
Throws:
getClazzType
public Class
Ruft den Klassentyp der von der Abfrage zurückgegebenen Tabellenentitäten ab.
Returns:
java.lang.Class
der -Klasse T
, die den Tabellenentitätstyp für die Abfrage darstellt.getColumns
public String [] getColumns()
Ruft ein Array der In der Tabellenabfrage angegebenen Namen der Tabellenentitätseigenschaft ab. Alle Eigenschaften in der Tabelle werden standardmäßig zurückgegeben, wenn keine Eigenschaftennamen mit einer select-Klausel in der Tabellenabfrage angegeben werden. Die zurückzugebenden Tabellenentitätseigenschaften können mit einem Aufruf der setColumns(final String[] columns) -Methode oder select(final String[] columns) mit einem Array von Eigenschaftennamen als Parameter angegeben werden.
Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht.
Returns:
String
-Objekten, das die Eigenschaftennamen der Tabellenentitätseigenschaften darstellt, die in der Abfrage zurückgegeben werden sollen.getFilterString
public String getFilterString()
Ruft den in der Tabellenabfrage angegebenen Filterausdruck ab. Alle Entitäten in der Tabelle werden standardmäßig zurückgegeben, wenn in der Tabellenabfrage kein Filterausdruck angegeben ist. Ein Filter für die zurückzugebenden Entitäten kann mit einem Aufruf der setFilterString(final String filterString) -Methode oder where(final String filter) angegeben werden.
Returns:
String
, der den in der Abfrage verwendeten Filterausdruck darstellt.getSourceTableName
protected String getSourceTableName()
Ruft den Namen der Quelltabelle ab, die in der Tabellenabfrage angegeben ist.
Returns:
String
, der den Namen der Quelltabelle darstellt, die in der Abfrage verwendet wird.getTakeCount
public Integer getTakeCount()
Ruft die Anzahl der Von der Abfrage zurückgegebenen Entitäten ab, die in der Tabellenabfrage angegeben ist. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden maximal 1.000 Einträge zurückgegeben. Die Anzahl der zurückzugebenden Entitäten kann mit einem Aufruf der setTakeCount(final Integer takeCount) -Methode oder take(final Integer take) angegeben werden.
Wenn der von zurückgegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException .
Returns:
Integer
, der die maximale Anzahl von Entitäten darstellt, die für die Tabellenabfrage zurückgegeben werden soll.select
public TableQuery
Definiert die Eigenschaftsnamen der Tabellenentitätseigenschaften, die bei Ausführung der Tabellenabfrage zurückgegeben werden sollen. Die -Klausel ist optional für eine Tabellenabfrage, die verwendet wird, um die vom Server zurückgegebenen Tabelleneigenschaften zu begrenzen. Standardmäßig gibt eine Abfrage alle Eigenschaften aus der Tabellenentität zurück.
Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht.
Parameters:
String
-Objekten, die die Eigenschaftennamen der Tabellenentitätseigenschaften angeben, die beim Ausführen der Abfrage zurückgegeben werden sollen.
Returns:
setClazzType
public void setClazzType(final Class
Legt den Klassentyp der von der Abfrage zurückgegebenen Tabellenentitäten fest. Zum Ausführen einer Tabellenabfrage ist ein Klassentyp erforderlich.
Aufrufer können als Klassentypparameter angeben TableServiceEntity , wenn kein spezieller Typ mehr erforderlich ist.
Parameters:
java.lang.Class
der -Klasse T
, die den Tabellenentitätstyp für die Abfrage darstellt. Die Klasse T
muss ein Typ sein, der TableEntity implementiert und über einen Nullary-Konstruktor verfügt.
setColumns
public void setColumns(final String[] columns)
Legt die Eigenschaftennamen der Tabellenentitätseigenschaften fest, die zurückgegeben werden sollen, wenn die Tabellenabfrage ausgeführt wird. Standardmäßig gibt eine Abfrage alle Eigenschaften aus der Tabellenentität zurück.
Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht.
Parameters:
String
-Objekten, die die Eigenschaftennamen der Tabellenentitätseigenschaften angeben, die beim Ausführen der Abfrage zurückgegeben werden sollen.
setFilterString
public void setFilterString(final String filterString)
Legt den Filterausdruck fest, der in der Tabellenabfrage verwendet werden soll. Ein Filterausdruck ist optional. Standardmäßig gibt eine Tabellenabfrage alle Entitäten in der Tabelle zurück.
Filterausdrücke für die Verwendung mit der -Methode können mithilfe der setFilterString(final String filterString) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken. Um beispielsweise alle Entitäten mit dem PartitionKey-Wert "AccessLogs" für die Tabellenabfrage abzufragen:
Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema ausführlicher erläutert.
Abfragen von Tabellen und Entitäten, beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage erfolgt.
Beachten Sie, dass innerhalb einer Filterzeichenfolge nicht mehr als 15 diskrete Vergleiche zulässig sind.
Parameters:
String
, der den filterausdruck darstellt, der in der Abfrage verwendet werden soll.
setSourceTableName
protected void setSourceTableName(final String sourceTableName)
Legt den Namen der Quelltabelle für die Tabellenabfrage fest. Eine Tabellenabfrage muss über eine Quelltabelle verfügen, die ausgeführt werden soll.
Parameters:
String
, der den Namen der Quelltabelle angibt, die in der Abfrage verwendet werden soll.
setTakeCount
public void setTakeCount(final Integer takeCount)
Legt die Obergrenze für die Anzahl von Entitäten fest, die die Abfrage zurückgibt. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden standardmäßig maximal 1.000 Einträge zurückgegeben.
Wenn der für den Parameter angegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException .
Parameters:
Integer
, der die maximale Anzahl von Entitäten darstellt, die für die Tabellenabfrage zurückgegeben werden soll.
take
public TableQuery
Definiert die obere Grenze für die Anzahl der Entitäten, die von der Abfrage zurückgegeben werden. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden standardmäßig maximal 1.000 Einträge zurückgegeben.
Wenn der für den Parameter angegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException .
Parameters:
Integer
, der die maximale Anzahl von Entitäten darstellt, die für die Tabellenabfrage zurückgegeben werden soll.
Returns:
where
public TableQuery
Definiert einen Filterausdruck für die Tabellenabfrage. Nur Entitäten, die dem angegebenen Filterausdruck entsprechen, werden von der Abfrage zurückgegeben. Das Festlegen eines Filterausdrucks ist optional. Standardmäßig werden alle Entitäten in der Tabelle zurückgegeben, wenn kein Filterausdruck in der Tabellenabfrage angegeben ist.
Filterausdrücke für die Verwendung mit der -Methode können mithilfe der where(final String filter) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken. Um beispielsweise alle Entitäten mit dem PartitionKey-Wert "AccessLogs" für die Tabellenabfrage abzufragen:
Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema ausführlicher erläutert.
Abfragen von Tabellen und Entitäten, beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage erfolgt.
Beachten Sie, dass innerhalb einer Filterzeichenfolge nicht mehr als 15 diskrete Vergleiche zulässig sind.
Parameters:
String
, der den Filterausdruck angibt, der auf die Tabellenabfrage angewendet werden soll.
Returns:
Gilt für:
Azure SDK for Java