NutzCN Logo
精华 postgresql 中 PostGIS的几何数据类型处理
发布于 8天前 作者 大鲨鱼 203 次浏览 复制 上一个帖子
标签:
   @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>
0 回复
添加回复
请先登陆
回到顶部