首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【YashanDB 知识库】如何使用 jdbc 向 YashanDB 批量插入 gis 数据

【YashanDB 知识库】如何使用 jdbc 向 YashanDB 批量插入 gis 数据

原创
作者头像
用户10349277
修改于 2025-02-27 06:36:10
修改于 2025-02-27 06:36:10
18100
代码可运行
举报
文章被收录于专栏:YashanDB知识库YashanDB知识库
运行总次数:0
代码可运行

以 gis 表为例:

drop table gis;

create table gis(id number not null, pos st_geometry not null);

使用如下的 java 代码片断,可以向 gis 表中插入 POINT 类型的 gis 数据:

代码语言: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代码解释
复制
SQL> select id, st_astext(pos) from gis;
ID ST_ASTEXT(POS)
----------- ----------------------------------------------------------------
1 POINT (-137.690708000000001 33.187434000000003)
1 POINT (-137.690708000000001 33.187434000000003)
1 POINT (-137.690708000000001 33.187434000000003)
1 POINT (-137.690708000000001 33.187434000000003)
1 POINT (-137.690708000000001 33.187434000000003)
1 POINT (-137.690708000000001 33.187434000000003)
1 POINT (-137.690708000000001 33.187434000000003)
1 POINT (-137.690708000000001 33.187434000000003)
1 POINT (-137.690708000000001 33.187434000000003)
1 POINT (-137.690708000000001 33.187434000000003)
 
10 rows fetched.

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用 JDBC 批量插入 YashanDB GIS 空间数据的示例
应用场景 在使用 Java 语言进行空间数据批量写入时,如何通过 JDBC 高效地向 YashanDB 插入 st_geometry 类型数据,是一个常见需求。
数据库砖家
2025/05/16
600
通过 JDBC 向 YashanDB 批量插入空间数据的标准写法
应用背景 在空间信息系统开发中,GIS 数据的批量写入效率尤为关键。以下展示如何通过 JDBC 向 YashanDB 中插入 st_geometry 类型的点数据。
数据库砖家
2025/05/16
670
jdbc之批量插入
当需要成批插入或者更新记录时,可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处 理。通常情况下比单独提交处理更有效率
一个风轻云淡
2022/11/15
1.2K0
【YashanDB 数据库】由于网络带宽不足导致的 jdbc 向 yashandb 插入数据慢
某客户环境,客户的业务使用 jdbc 驱动向其他操作系统上的 yashandb 插入 90 万条数据,耗时大约 30 分钟。
用户10349277
2025/02/21
1410
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
10. 批量插入
上一章节,我们使用 PreparedStatement 操作了 BLOB 字段,下面我们再来看看批量插入的操作。
Devops海洋的渔夫
2022/01/17
1.2K0
10. 批量插入
JDBC完成对数据库数据操作(增,删,改,查)
1.获取数据库的连接 2.预编译sql语句 3.填充占位 4.执行 5.资源的关闭
小尘要自信
2023/10/10
1.9K0
【YashanDB 知识库】statement 级别的触发器在 jdbc 接口调用 executeBatch 时被多次触发
表 A 上有一个语句级触发器,其内容为在触发时执行 alter sequence 操作;另外还有一个 insert 时的行级触发器,其内容为将每行的部分列赋给新值,这些新值要么来自 sequence.nextval,要么来自于 current_timestamp。
用户10349277
2025/02/21
2860
YashanDB 知识库|语句级触发器被触发 N 次?executeBatch 背后还有“坑”
在使用 JDBC 批量插入 YashanDB 时,有用户反馈触发器行为异常,明明是“语句级”触发器,却执行了 N 次。实际测试显示,在 executeBatch() 的场景下,语句级触发器会被重复触发,导致插入性能大幅下降。
数据库砖家
2025/04/23
1250
JDBC批处理executeBatch
JDBC运行SQL声明,有两个处理接口,一PreparedStatement,Statement,一般程序JDBC有多少仍然比较PreparedStatement
全栈程序员站长
2022/07/18
4720
YashanDB|JDBC 插入慢?别忽略了“网络带宽”这个瓶颈!
在实际应用中,不少开发者在向 YashanDB 数据库批量插入数据时会遇到性能瓶颈,尤其是当 JDBC 客户端和数据库不部署在同一台机器时,插入速度明显变慢。
数据库砖家
2025/04/24
930
statement和prepareStatement的区别
prepareStatement会先初始化SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率。 createStatement不会初始化,没有预处理,没次都是从0开始执行SQL
HaC
2020/12/30
6400
【YashanDB 知识库】如何处理报错"UDT column batch insert" has not been implemented yet
YashanDB 中的 ST_GEOMETRY 类型是数据库内置的一种自定义类型,用于存储和访问符合开放地理空间信息联盟(Open Geospatial Consortium,简称 OGC)制定的 SFA SQL 标准的几何对象。
用户11441800
2025/02/25
1560
jdbc基础
Java微观世界
2025/01/20
1090
MySQL从入门到入魔之数据库连接池(04)
数据库连接池 jdbc.properties db.driver=com.mysql.cj.jdbc.Driver db.url=jdbc:mysql://localhost:3306/newdb3?
海拥
2021/08/23
9880
Mysql -- JDBC
是Java的API,各数据库厂商负责实现,我们只要装上对应的驱动,从而操作JDBC接口就能使用不同的数据库,这样就避免了使用不同数据库就要学习不同数据库的方法
晚上没宵夜
2020/03/11
1.6K0
厉害了!12秒将百万数据通过EasyExcel导入MySQL数据库中
我们在上一篇文章中提到了通过EasyExcel处理Mysql百万数据的导入功能(一键看原文),当时我们经过测试数据的反复测验,100万条放在excel中的数据,仅有4个字段的情况下,导入数据库平均耗时500秒,这对于我们来说肯定难以接受,今天我们就来做一次性能优化。
JavaBuild
2024/05/27
1.5K0
厉害了!12秒将百万数据通过EasyExcel导入MySQL数据库中
Java程序设计(高级及专题)- JDBC
execute是executeQuery和executeUpdate的综合. 通常我们没有必要使用execute方法来执行SQL语句,而是使用 executeQuery 或 executeUpdate 更适合。
全栈程序员站长
2022/08/04
6310
Java程序设计(高级及专题)- JDBC
Java数据库编程中的技巧
企鹅号小编
2018/01/09
1K0
Java数据库编程中的技巧
持久层变化历史和Mybatis的到来
想一想,我最原始的最初的持久层是jdbc,我大二不会框架用了很久原生的.... 大致呢如下代码块所示MAVEN pom引入mysql
名字是乱打的
2021/12/22
3560
持久层变化历史和Mybatis的到来
推荐阅读
相关推荐
使用 JDBC 批量插入 YashanDB GIS 空间数据的示例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验