com.supermap.data
类 QueryParameter
- java.lang.Object
-
- com.supermap.data.QueryParameter
-
public class QueryParameter extends java.lang.Object查询参数类。用于描述一个条件查询的限制条件,如所包含的 SQL 语句,游标方式等。
条件查询,是查询满足一定条件的所有要素的记录,其查询得到的结果是记录集。查询参数类是用来设置条件查询的查询条件从而得到记录集。SQL 查询,又称属性查询,即通过构建包含属性字段、运算符号和数值的 SQL 条件语句来选择记录,从而得到记录集。
- Example:
- 以下代码示范如何进行条件查询操作。假设打开一个工作空间
workspace对象,工作空间中存在一个数据源datasource对象,此数据源中包含一个名为 World 的矢量数据集 dataset_world,取出该数据集。public void queryParameterTest(DatasetVector dataset_world) { // 设置查询参数 QueryParameter parameter = new QueryParameter(); parameter.setAttributeFilter("SmID<100"); parameter.setCursorType(CursorType.STATIC); // 进行查询 Recordset recordset = dataset_world.query(parameter); //依次关闭所有对象 dataset_world.close(); recordset.dispose(); }
-
-
构造器概要
构造器 构造器和说明 QueryParameter()构造一个新的 QueryParameter 对象。QueryParameter(QueryParameter queryParameter)根据给定的 QueryParameter 对象构造一个与其完全相同的新对象。
-
方法概要
所有方法 静态方法 实例方法 具体方法 限定符和类型 方法和说明 static java.lang.StringdateToString(int year, int month, int day, int hours, int minutes, int seconds)时间转String的静态函数,用于时间查询。voiddispose()释放该对象所占用的资源。java.lang.StringgetAttributeFilter()返回查询所构建的 SQL 条件语句,即 SQL WHERE CLAUSE 语句。CursorTypegetCursorType()返回查询所采用的游标类型。java.lang.String[]getGroupBy()返回 SQL 查询分组条件的字段。booleangetHasGeometry()返回查询结果是否包含几何对象字段。java.lang.String[]getOrderBy()返回SQL查询排序的字段。java.lang.String[]getResultFields()返回查询结果字段集合。SpatialQueryModegetSpatialQueryMode()获取空间查询操作模式。voidsetAttributeFilter(java.lang.String value)设置查询所构建的 SQL 条件语句,即 SQL WHERE CLAUSE 语句。voidsetCursorType(CursorType value)设置查询所采用的游标类型。voidsetGroupBy(java.lang.String[] value)设置 SQL 查询分组条件的字段。voidsetHasGeometry(boolean value)设置查询结果是否包含几何对象字段。voidsetOrderBy(java.lang.String[] value)设置 SQL 查询排序的字段。voidsetResultFields(java.lang.String[] value)设置查询结果字段集合。voidsetSpatialQueryMode(SpatialQueryMode value)设置空间查询操作模式。voidsetSpatialQueryObject(java.lang.Object value)设置空间查询中的搜索对象。java.lang.StringtoString()将此查询参数对象包含的查询参数输出为一个字符串。
-
-
-
构造器详细资料
-
QueryParameter
public QueryParameter()
构造一个新的 QueryParameter 对象。
-
QueryParameter
public QueryParameter(QueryParameter queryParameter)
根据给定的 QueryParameter 对象构造一个与其完全相同的新对象。- 参数:
queryParameter- 指定的 QueryParameter 对象。
-
-
方法详细资料
-
getCursorType
public CursorType getCursorType()
返回查询所采用的游标类型。SuperMap 支持两种类型的游标,分别为动态游标和静态游标。使用动态游标查询时,记录集会动态的刷新,耗费很多的资源,而当使用静态游标时,查询的为记录集的静态副本,效率较高。推荐在查询时使用静态游标,使用静态游标获得的记录集是不可编辑的。详细信息请参见 CursorType 类型。- 返回:
- 查询所采用的游标类型。
- 另请参阅:
CursorType- Default:
- 默认值为
DYNAMIC类型。
-
setCursorType
public void setCursorType(CursorType value)
设置查询所采用的游标类型。SuperMap 支持两种类型的游标,分别为动态游标和静态游标。使用动态游标查询时,记录集会动态的刷新,耗费很多的资源,而当使用静态游标时,查询的为记录集的静态副本,效率较高。推荐在查询时使用静态游标,使用静态游标获得的记录集是不可编辑的。详细信息请参见 CursorType 类型。- 参数:
value- 指定查询所采用的游标类型。- 另请参阅:
CursorType
-
getAttributeFilter
public java.lang.String getAttributeFilter()
返回查询所构建的 SQL 条件语句,即 SQL WHERE CLAUSE 语句。SQL 查询又称为属性查询,是通过一个或多个 SQL 条件语句来查询记录。SQL 语句是包含属性字段、运算符号和数值的条件语句。例如,你希望查询一个商业区内去年的年销售额超过30万的服装店,则构建的 SQL 查询语句为:Sales > 30,0000 AND SellingType = ‘Garment’。- 返回:
- 查询所构建的 SQL 条件语句,即 SQL WHERE CLAUSE 语句。
- Default:
- 默认值为一个空字符串。
-
setAttributeFilter
public void setAttributeFilter(java.lang.String value)
设置查询所构建的 SQL 条件语句,即 SQL WHERE CLAUSE 语句。SQL 查询又称为属性查询,是通过一个或多个 SQL 条件语句来查询记录。SQL 语句是包含属性字段、运算符号和数值的条件语句。例如,你希望查询一个商业区内去年的年销售额超过30万的服装店,则构建的 SQL 查询语句为:Sales > 30,0000 AND SellingType = ‘Garment’。- 参数:
value- 查询所构建的 SQL 条件语句,即 SQL WHERE CLAUSE 语句。
-
getHasGeometry
public boolean getHasGeometry()
返回查询结果是否包含几何对象字段。- 返回:
- 查询结果包含几何对象字段,返回 true,不包含几何对象字段返回 false。
- Default:
- 默认值为 true。
-
setHasGeometry
public void setHasGeometry(boolean value)
设置查询结果是否包含几何对象字段。- 参数:
value- 指定查询结果是否包含几何对象字段。
-
getOrderBy
public java.lang.String[] getOrderBy()
返回SQL查询排序的字段。对于 SQL 查询得到的记录集中的各记录,可以根据指定的字段进行排序,并可以指定为升序排列或是降序排列。注意用于排序的字段必须为数值型。- 返回:
- SQL 查询排序的字段。
- Default:
- 默认值为个数为0的字符串数组。
-
setOrderBy
public void setOrderBy(java.lang.String[] value)
设置 SQL 查询排序的字段。对于 SQL 查询得到的记录集中的各记录,可以根据指定的字段进行排序,并可以指定为升序排列或是降序排列。注意用于排序的字段必须为数值型。- 参数:
value- SQL 查询排序的字段。
-
getGroupBy
public java.lang.String[] getGroupBy()
返回 SQL 查询分组条件的字段。对于 SQL 查询得到的记录集中的各字段,可以根据指定的字段进行分组,指定的字段值相同的记录将被放置在一起。- 返回:
- SQL 查询分组条件的字段。
- Default:
- 默认值为个数为0的字符串数组。
-
setGroupBy
public void setGroupBy(java.lang.String[] value)
设置 SQL 查询分组条件的字段。对于 SQL 查询得到的记录集中的各字段,可以根据指定的字段进行分组,指定的字段值相同的记录将被放置在一起。注意:
- 只有
setCursorType(CursorType.STATIC)时,setGroupBy()方法才有效; setHasGeometry(false)且setResultFields()方法中的字段与本方法中的字段相同时,setGroupBy()方法才有效。- 查询中如果使用了
setGroupBy()方法,在查询非几何对象字段(即setHasGeometry(false))时,返回的记录集为只读。
- 参数:
value- SQL 查询分组条件的字段。
- 只有
-
getResultFields
public java.lang.String[] getResultFields()
返回查询结果字段集合。对于查询结果的记录集中,可以设置其中所包含的字段,如果为空,则查询所有字段。- 返回:
- 查询结果字段集合。
- Default:
- 默认值为个数为0的字符串数组。
-
setResultFields
public void setResultFields(java.lang.String[] value)
设置查询结果字段集合。对于查询结果的记录集中,可以设置其中所包含的字段,如果为空,则查询所有字段。注意:对
setResultField()方法的设置,只有当setHasGeometry(false),setCursorType(CursorType.STATIC)时才有效,否则返回全部的字段。- 参数:
value- 查询结果字段集合。
-
toString
public java.lang.String toString()
将此查询参数对象包含的查询参数输出为一个字符串。- 覆盖:
toString在类中java.lang.Object- 返回:
- 查询参数信息的 XML 字符串。
-
dispose
public void dispose()
释放该对象所占用的资源。调用该方法之后,此对象不再可用。
-
setSpatialQueryObject
public void setSpatialQueryObject(java.lang.Object value)
设置空间查询中的搜索对象。可以是Point2D,Rectangle2D,GeoPoint,GeoLine,GeoRegion,DatasetVector,Recordset等类型的对象。若搜索对象是数据集或是记录集类型,则必须同被搜索图层对应的数据集的地理坐标系一致。
- 参数:
value- 空间查询中的搜索对象。
-
setSpatialQueryMode
public void setSpatialQueryMode(SpatialQueryMode value)
设置空间查询操作模式。- 参数:
value- 空间查询操作模式。
-
getSpatialQueryMode
public SpatialQueryMode getSpatialQueryMode()
获取空间查询操作模式。- 返回:
- 空间查询操作模式,默认值为
SpatialQueryMode.NONE模式
-
dateToString
public static java.lang.String dateToString(int year, int month, int day, int hours, int minutes, int seconds)时间转String的静态函数,用于时间查询。UDB数据源中数据集存储的时间是用double值来表示的以天为单位的时间,时分秒是小数。而数据库自带的to_date函数是针对毫秒级别的。 用户可以用这个静态接口返回的值做等于、范围查询。
请不要用数据库自带的to_date函数进行日期查询。
- 参数:
year- 年。month- 月。day- 日。hours- 小时。minutes- 分。seconds- 秒。- 返回:
- 时间字符串。
-
-