我正在开发一个项目,需要将纬度和经度存储在 PostgreSQL 数据库的坐标字段中。我决定使用 PostgreSQL 中的 Point 数据类型来有效地表示这些坐标。但是,我不确定在 Java 中处理此问题的最佳方法以及如何在实体类中删除。 例如:双纬度 =17.4343, 双长 =76.4343
更好的方法来存储要存储在数据库中的坐标以及如何接受实体类。
给我最好的建议,将坐标存储到 PostgreSQL 数据库
阅读文档:Postgres JDBC 驱动程序文档:几何数据类型。
关键是使用 postgres JDBC 驱动程序中的
PGpoint
类(还有更多“几何”类型,并且每个类型都有一个 java 类可用)。
您可以简单地使用
preparedStatement.setObject(colRef, instanceOfPGpoint)
在查询中使用点,并使用 PGpoint p = resultSet.getObject(colRef, PGpoint.class)
进行查询。文档建议你必须进行强制转换。你不需要 - 这种形式对眼睛更好看并且更标准一点,我建议你使用 2-arg getObject
。