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.String dateToString(int year, int month, int day, int hours, int minutes, int seconds)
      时间转String的静态函数,用于时间查询。
      void dispose()
      释放该对象所占用的资源。
      java.lang.String getAttributeFilter()
      返回查询所构建的 SQL 条件语句,即 SQL WHERE CLAUSE 语句。
      CursorType getCursorType()
      返回查询所采用的游标类型。
      java.lang.String[] getGroupBy()
      返回 SQL 查询分组条件的字段。
      boolean getHasGeometry()
      返回查询结果是否包含几何对象字段。
      java.lang.String[] getOrderBy()
      返回SQL查询排序的字段。
      java.lang.String[] getResultFields()
      返回查询结果字段集合。
      SpatialQueryMode getSpatialQueryMode()
      获取空间查询操作模式。
      void setAttributeFilter(java.lang.String value)
      设置查询所构建的 SQL 条件语句,即 SQL WHERE CLAUSE 语句。
      void setCursorType(CursorType value)
      设置查询所采用的游标类型。
      void setGroupBy(java.lang.String[] value)
      设置 SQL 查询分组条件的字段。
      void setHasGeometry(boolean value)
      设置查询结果是否包含几何对象字段。
      void setOrderBy(java.lang.String[] value)
      设置 SQL 查询排序的字段。
      void setResultFields(java.lang.String[] value)
      设置查询结果字段集合。
      void setSpatialQueryMode(SpatialQueryMode value)
      设置空间查询操作模式。
      void setSpatialQueryObject(java.lang.Object value)
      设置空间查询中的搜索对象。
      java.lang.String toString()
      将此查询参数对象包含的查询参数输出为一个字符串。
      • 从类继承的方法 java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 构造器详细资料

      • 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 查询得到的记录集中的各字段,可以根据指定的字段进行分组,指定的字段值相同的记录将被放置在一起。

        注意:

        1. 只有 setCursorType(CursorType.STATIC) 时, setGroupBy() 方法才有效;
        2. setHasGeometry(false)setResultFields() 方法中的字段与本方法中的字段相同时,setGroupBy() 方法才有效。
        3. 查询中如果使用了 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)
        设置空间查询中的搜索对象。可以是 Point2DRectangle2DGeoPointGeoLineGeoRegionDatasetVectorRecordset 等类型的对象。

        若搜索对象是数据集或是记录集类型,则必须同被搜索图层对应的数据集的地理坐标系一致。

        参数:
        value - 空间查询中的搜索对象。
      • setSpatialQueryMode

        public void setSpatialQueryMode(SpatialQueryMode value)
        设置空间查询操作模式。
        参数:
        value - 空间查询操作模式。
      • 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 - 秒。
        返回:
        时间字符串。