package com.lf.server.mapper.all;
|
|
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Update;
|
|
/**
|
* 空间基础Mapper
|
* @author WWW
|
* @param <T> 泛型
|
*/
|
public interface GeomBaseMapper<T> extends BasicMapper<T> {
|
/**
|
* 根据ID查询WKT
|
*
|
* @param tab 表名
|
* @param gid GID
|
* @return WKT
|
*/
|
@Select("select ST_AsText(geom) geom from ${tab} where gid = #{gid}")
|
public String selectWktById(@Param("tab") String tab, @Param("gid") Integer gid);
|
|
/**
|
* 根据表名查询空间参考
|
*
|
* @param tab 表名
|
* @return SRID
|
*/
|
@Select("select ST_SRID(geom) from ${tab} where geom is not null limit 1")
|
public Integer selectSrid(@Param("tab") String tab);
|
|
/**
|
* 根据表名查询空间类型
|
*
|
* @param tab 表名
|
* @return SRID
|
*/
|
@Select("select ST_GeometryType(geom) from ${tab} where geom is not null limit 1")
|
public String selectGeometryType(@Param("tab") String tab);
|
|
/**
|
* 更新空间位置
|
*
|
* @param tab 表名
|
* @param gid GID
|
* @param wkt WKT
|
* @return 影响行数
|
*/
|
@Update("update ${tab} set geom = ST_GeomFromText('${wkt}') where gid = #{gid}")
|
public Integer updateGeom(@Param("tab") String tab, @Param("gid") Integer gid, @Param("wkt") String wkt);
|
}
|