Class OracleSpatialJdbcOperations

java.lang.Object
com.oracle.spring.spatial.OracleSpatialJdbcOperations

public class OracleSpatialJdbcOperations extends Object
Spring JDBC-oriented entry point for working with Oracle Spatial and GeoJSON-backed SDO_GEOMETRY values.
  • Constructor Details

    • OracleSpatialJdbcOperations

      public OracleSpatialJdbcOperations(OracleSpatialProperties properties)
      Creates a new operations helper backed by the provided properties.
      Parameters:
      properties - spatial defaults used for SRID and distance units
  • Method Details

    • geometry

      public SpatialGeometry geometry(String geoJson)
      Creates a bindable geometry value using the configured default SRID.
      Parameters:
      geoJson - GeoJSON payload
      Returns:
      spatial geometry wrapper
    • geometry

      public SpatialGeometry geometry(String geoJson, int srid)
      Creates a bindable geometry value using the supplied SRID.
      Parameters:
      geoJson - GeoJSON payload
      srid - Oracle Spatial SRID
      Returns:
      spatial geometry wrapper
    • fromGeoJson

      public SpatialExpression fromGeoJson(SpatialGeometry geometry)
      Returns an expression that converts a bindable GeoJSON geometry into SDO_GEOMETRY. This is useful for inserts, updates, and advanced custom SQL.
      Parameters:
      geometry - geometry value to convert
      Returns:
      bindable SQL expression
    • toGeoJson

      public SpatialExpression toGeoJson(String geometryColumn)
      Returns a GeoJSON projection expression for the given geometry column.
      Parameters:
      geometryColumn - geometry column or expression
      Returns:
      SQL expression suitable for a select list
    • filter

      public SpatialPredicate filter(String geometryColumn, SpatialGeometry geometry)
      Returns an SDO_FILTER(...) predicate.
      Parameters:
      geometryColumn - geometry column or expression
      geometry - bindable geometry value
      Returns:
      bindable spatial predicate
    • relate

      public SpatialPredicate relate(String geometryColumn, SpatialGeometry geometry, SpatialRelationMask mask)
      Returns an SDO_RELATE(...) predicate for the given relationship mask.
      Parameters:
      geometryColumn - geometry column or expression
      geometry - bindable geometry value
      mask - relationship mask
      Returns:
      bindable spatial predicate
    • withinDistance

      public SpatialPredicate withinDistance(String geometryColumn, SpatialGeometry geometry, Number distance)
      Returns an SDO_WITHIN_DISTANCE(...) predicate using the configured default distance unit.
      Parameters:
      geometryColumn - geometry column or expression
      geometry - bindable geometry value
      distance - distance threshold
      Returns:
      bindable spatial predicate
    • withinDistance

      public SpatialPredicate withinDistance(String geometryColumn, SpatialGeometry geometry, Number distance, String unit)
      Returns an SDO_WITHIN_DISTANCE(...) predicate using the supplied distance unit token.
      Parameters:
      geometryColumn - geometry column or expression
      geometry - bindable geometry value
      distance - distance threshold
      unit - Oracle distance unit token
      Returns:
      bindable spatial predicate
    • nearestNeighbor

      public SpatialPredicate nearestNeighbor(String geometryColumn, SpatialGeometry geometry, int numResults)
      Returns an SDO_NN(...) predicate using Oracle operator id 1.
      Parameters:
      geometryColumn - geometry column or expression
      geometry - bindable geometry value
      numResults - Oracle sdo_num_res value
      Returns:
      bindable spatial predicate
    • nearestNeighborDistance

      public SpatialExpression nearestNeighborDistance()
      Returns the SDO_NN_DISTANCE(1) expression for use in select lists or order clauses after nearestNeighbor(String, SpatialGeometry, int).
      Returns:
      SQL expression
    • distance

      public SpatialExpression distance(String geometryColumn, SpatialGeometry geometry, Number tolerance)
      Returns a distance expression based on SDO_GEOM.SDO_DISTANCE using the configured default unit and a caller-provided tolerance.
      Parameters:
      geometryColumn - geometry column or expression
      geometry - bindable geometry value
      tolerance - Oracle Spatial tolerance
      Returns:
      bindable SQL expression
    • distance

      public SpatialExpression distance(String geometryColumn, SpatialGeometry geometry, Number tolerance, String unit)
      Returns a distance expression based on SDO_GEOM.SDO_DISTANCE using the supplied tolerance and unit.
      Parameters:
      geometryColumn - geometry column or expression
      geometry - bindable geometry value
      tolerance - Oracle Spatial tolerance
      unit - Oracle distance unit token
      Returns:
      bindable SQL expression
    • geoJsonRowMapper

      public org.springframework.jdbc.core.RowMapper<String> geoJsonRowMapper(String columnLabel)
      Returns a Spring JDBC RowMapper that reads a GeoJSON projection column from a result set.
      Parameters:
      columnLabel - result-set column label
      Returns:
      row mapper for GeoJSON string results
    • bind

      public org.springframework.jdbc.core.simple.JdbcClient.StatementSpec bind(org.springframework.jdbc.core.simple.JdbcClient.StatementSpec statement, SpatialJdbcBindable... parts)
      Applies bind parameters from the given spatial parts to a JdbcClient.StatementSpec.
      Parameters:
      statement - JDBC statement spec
      parts - spatial parts carrying bind values
      Returns:
      updated statement