Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用 JDBC 批量插入 YashanDB GIS 空间数据的示例

使用 JDBC 批量插入 YashanDB GIS 空间数据的示例

原创
作者头像
数据库砖家
发布于 2025-05-16 11:38:10
发布于 2025-05-16 11:38:10
6100
代码可运行
举报
运行总次数:0
代码可运行

应用场景 在使用 Java 语言进行空间数据批量写入时,如何通过 JDBC 高效地向 YashanDB 插入 st_geometry 类型数据,是一个常见需求。

示例建表语句

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
drop table gis;
create table gis(id number not null, pos st_geometry not null);

插入代码片段 以下 Java 程序段展示了如何向 gis 表中批量写入点(POINT)类型的空间数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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();

插入结果预览 执行后,可通过以下语句验证数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select id, st_astext(pos) from gis;

输出结果类似于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ID | ST_ASTEXT(POS)
---|-------------------------
1  | POINT (-137.690708... 33.187434...)

共返回 10 条记录,说明数据插入成功。

总结建议 在批量写入 GIS 数据时,使用 JDBC 的 addBatch + executeBatch 方式能有效提升插入效率。空间数据转换函数 ST_GEOMFROMTEXT 是构建几何对象的关键。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
通过 JDBC 向 YashanDB 批量插入空间数据的标准写法
应用背景 在空间信息系统开发中,GIS 数据的批量写入效率尤为关键。以下展示如何通过 JDBC 向 YashanDB 中插入 st_geometry 类型的点数据。
数据库砖家
2025/05/16
680
【YashanDB 知识库】如何使用 jdbc 向 YashanDB 批量插入 gis 数据
create table gis(id number not null, pos st_geometry not null);
用户10349277
2025/02/27
1830
jdbc之批量插入
当需要成批插入或者更新记录时,可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处 理。通常情况下比单独提交处理更有效率
一个风轻云淡
2022/11/15
1.2K0
JDBC批处理executeBatch
JDBC运行SQL声明,有两个处理接口,一PreparedStatement,Statement,一般程序JDBC有多少仍然比较PreparedStatement
全栈程序员站长
2022/07/18
4740
厉害了!12秒将百万数据通过EasyExcel导入MySQL数据库中
我们在上一篇文章中提到了通过EasyExcel处理Mysql百万数据的导入功能(一键看原文),当时我们经过测试数据的反复测验,100万条放在excel中的数据,仅有4个字段的情况下,导入数据库平均耗时500秒,这对于我们来说肯定难以接受,今天我们就来做一次性能优化。
JavaBuild
2024/05/27
1.5K0
厉害了!12秒将百万数据通过EasyExcel导入MySQL数据库中
statement和prepareStatement的区别
prepareStatement会先初始化SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率。 createStatement不会初始化,没有预处理,没次都是从0开始执行SQL
HaC
2020/12/30
6440
【YashanDB 数据库】由于网络带宽不足导致的 jdbc 向 yashandb 插入数据慢
某客户环境,客户的业务使用 jdbc 驱动向其他操作系统上的 yashandb 插入 90 万条数据,耗时大约 30 分钟。
用户10349277
2025/02/21
1420
YashanDB|JDBC 插入慢?别忽略了“网络带宽”这个瓶颈!
在实际应用中,不少开发者在向 YashanDB 数据库批量插入数据时会遇到性能瓶颈,尤其是当 JDBC 客户端和数据库不部署在同一台机器时,插入速度明显变慢。
数据库砖家
2025/04/24
950
jdbc批量插入实例
package test; import java.sql.DriverManager; import java.util.ArrayList; import java.util.List; import com.allinfinance.cis.br.infrastructure.TmBrIvsOut; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; public class testIvs {
全栈程序员站长
2021/12/23
8790
YashanDB 知识库|语句级触发器被触发 N 次?executeBatch 背后还有“坑”
在使用 JDBC 批量插入 YashanDB 时,有用户反馈触发器行为异常,明明是“语句级”触发器,却执行了 N 次。实际测试显示,在 executeBatch() 的场景下,语句级触发器会被重复触发,导致插入性能大幅下降。
数据库砖家
2025/04/23
1270
JDBC完成对数据库数据操作(增,删,改,查)
1.获取数据库的连接 2.预编译sql语句 3.填充占位 4.执行 5.资源的关闭
小尘要自信
2023/10/10
1.9K0
【YashanDB 知识库】如何处理报错"UDT column batch insert" has not been implemented yet
YashanDB 中的 ST_GEOMETRY 类型是数据库内置的一种自定义类型,用于存储和访问符合开放地理空间信息联盟(Open Geospatial Consortium,简称 OGC)制定的 SFA SQL 标准的几何对象。
用户11441800
2025/02/25
1560
java实现excel一万条数据批量导入
要实现Excel一万条数据批量导入,可以使用Apache POI库来读取和解析Excel文件,并使用JDBC连接数据库将数据批量插入。以下是一个简单的示例代码:
疯狂的KK
2023/03/23
1.9K0
jdbc基础
Java微观世界
2025/01/20
1110
10. 批量插入
上一章节,我们使用 PreparedStatement 操作了 BLOB 字段,下面我们再来看看批量插入的操作。
Devops海洋的渔夫
2022/01/17
1.2K0
10. 批量插入
Java数据库编程中的技巧
企鹅号小编
2018/01/09
1K0
Java数据库编程中的技巧
地理空间数据库复习笔记:关系数据库标准语言、几何对象模型与查询
SQL (stands for Structured Query Language)
云微
2023/02/24
1.4K0
JDBC批量提交SQL的几点问题解答
1. 疑问 问题一:Statement的executeBatch方法是否会执行commit操作,是否还需要再执行一次commit()? 问题二:执行批量操作的过程中,如果其中有部分命令执行失败,其他执行成功的命令是否会提交到数据库? 2. 环境     测试采用MySQL数据库,创建如下表; CREATE TABLE `batch_test` ( `id` int(11) NOT NULL , PRIMARY KEY (`id`) ) 3. 测试 3.1. 问题一测试     测试代码: Connecti
囚兔
2018/02/08
1.6K0
MySQL从入门到入魔之数据库连接池(04)
数据库连接池 jdbc.properties db.driver=com.mysql.cj.jdbc.Driver db.url=jdbc:mysql://localhost:3306/newdb3?
海拥
2021/08/23
9890
PostGIS初探
PostGIS是PostgreSQL的空间扩展,他使得PostgreSQL支持空间数据类型,比如点、线段、折线段、多边形、椭圆等等,并且能够使用高效的空间索引进行存储和查找。
mythsman
2022/11/14
1.3K0
推荐阅读
相关推荐
通过 JDBC 向 YashanDB 批量插入空间数据的标准写法
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验