应用背景
在空间信息系统开发中,GIS 数据的批量写入效率尤为关键。以下展示如何通过 JDBC 向 YashanDB 中插入 st_geometry 类型的点数据。
表结构示例
drop table gis;
create table gis(id number not null, pos st_geometry not null);
JDBC 批量插入代码
使用 PreparedStatement 搭配 addBatch 方法,实现高效批量插入:
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();
验证插入结果
执行以下 SQL 查看插入效果:
select id, st_astext(pos) from gis;
输出显示所有插入的点坐标为:
POINT (-137.690708000000001 33.187434000000003)
共计 10 条记录,表明写入成功。
实用建议
利用 ST_GEOMFROMTEXT 函数可方便地将文本格式的坐标转换为几何对象,并配合 JDBC 批处理提升整体写入性能。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。