应用场景
在使用 Java 语言进行空间数据批量写入时,如何通过 JDBC 高效地向 YashanDB 插入 st_geometry 类型数据,是一个常见需求。
示例建表语句
drop table gis;
create table gis(id number not null, pos st_geometry not null);
插入代码片段
以下 Java 程序段展示了如何向 gis 表中批量写入点(POINT)类型的空间数据:
conn.setAutoCommit(false);
PreparedStatement ps = conn.prepareStatement("insert into gis values(?, ST_GEOMFROMTEXT(?))");
for(int i = 0; i < 10; i++) {
ps.setInt(1, 1);
ps.setString(2, "POINT(-137.690708 33.187434)");
ps.addBatch();
}
ps.executeBatch();
conn.commit();
插入结果预览
执行后,可通过以下语句验证数据:
`
select id, st_astext(pos) from gis;`
输出结果类似于:
ID | ST_ASTEXT(POS)
---|-------------------------
1 | POINT (-137.690708... 33.187434...)
共返回 10 条记录,说明数据插入成功。
总结建议
在批量写入 GIS 数据时,使用 JDBC 的 addBatch + executeBatch 方式能有效提升插入效率。空间数据转换函数 ST_GEOMFROMTEXT 是构建几何对象的关键。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。