IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    nutz:postgresql 中 PostGIS的几何数据类型处理

    superadmin发表于 2025-02-11 08:34:38
    love 0
     @Column
        @ColDefine(customType = "GEOGRAPHY(Point,4326)", adaptor = PsqlPointAdaptor.class)
        @ApiModelProperty(description = "坐标")
        private String geomPoint;//值格式为"POINT(经度 纬度)"
    import net.postgis.jdbc.PGgeometry;
    import net.postgis.jdbc.geometry.Point;
    import org.nutz.dao.jdbc.ValueAdaptor;
    
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Types;
    
    public class PsqlPointAdaptor implements ValueAdaptor {
        @Override
        public Object get(ResultSet rs, String colName) throws SQLException {
            return rs.getObject(colName);
        }
    
        @Override
        public void set(PreparedStatement stat, Object obj, int index)  throws SQLException{
            if (null == obj) {
                stat.setNull(index, Types.NULL);
            } else {
                String pointStr = (String) obj;
                Point point = new Point(pointStr);
                PGgeometry pgGeometry = new PGgeometry(point);
                stat.setObject(index, pgGeometry, Types.OTHER);
            }
        }
    }
        <properties>
            <postgis-jdbc.version>2024.1.0</postgis-jdbc.version>
        </properties>
        <dependencies>
            <!-- PostGIS扩展类型 -->
            <dependency>
                <groupId>net.postgis</groupId>
                <artifactId>postgis-jdbc</artifactId>
                <version>${postgis-jdbc.version}</version>
            </dependency>



沪ICP备19023445号-2号
友情链接