12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.siwei.apply.mapper.NodeLandMapper">
- <!-- 结果映射 -->
- <resultMap id="BaseResultMap" type="com.siwei.apply.domain.NodeLand">
- <id property="id" column="id"/>
- <result property="nodeId" column="node_id"/>
- <result property="geomDbId" column="geom_db_id"/>
- </resultMap>
- <!-- 基础查询字段 -->
- <sql id="Base_Column_List">
- id, node_id, geom_db_id
- </sql>
- <!-- 根据node_id查询地块几何信息,返回geom_db_id和并集的外边框、中心点 -->
- <select id="selectGeomByNodeId" resultType="map" parameterType="String">
- SELECT
- nl.geom_db_id as "geomDbId",
- tgd.shppath as "shppath",
- array_to_string(array_agg(ST_AsEWKT(gd.geom)), '|') as "geoms",
- ST_AsEWKT(ST_Envelope(ST_Union(gd.geom))) as "envelope",
- ST_AsEWKT(ST_Centroid(ST_Union(gd.geom))) as "centroid"
- FROM t_node_land nl
- LEFT JOIN t_geom_db_details gd ON nl.geom_db_id = gd.upload_id
- LEFT JOIN t_geom_db tgd ON nl.geom_db_id = tgd.id
- WHERE nl.node_id = #{nodeId}
- AND gd.geom IS NOT NULL
- GROUP BY nl.geom_db_id, tgd.shppath
- </select>
- <!-- 根据node_id和geom_db_id创建记录 -->
- <insert id="insertByNodeIdAndGeomDbId">
- INSERT INTO t_node_land (
- id,
- node_id,
- geom_db_id
- ) VALUES (
- gen_random_uuid()::varchar,
- #{param1},
- #{param2}
- )
- </insert>
- <!-- 根据node_id删除记录 -->
- <delete id="deleteByNodeId" parameterType="String">
- DELETE FROM t_node_land
- WHERE node_id = #{nodeId}
- </delete>
- </mapper>
|