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

简介: 本文以GIS表为例,展示如何通过Java代码向数据库插入POINT类型的地理空间数据。首先创建包含ID和位置(st_geometry类型)的GIS表,接着使用Java PreparedStatement批量插入相同坐标点(1, POINT(-137.690708 33.187434))共10次,最后查询显示结果,验证数据成功写入。此方法适用于地理信息系统数据处理场景。

以gis表为例:

drop table gis;

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

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

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();
AI 代码解读

}

ps.executeBatch();

conn.commit();
最终效果:

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.
数据库

目录
打赏
0
0
0
0
57
分享
相关文章
【YashanDB知识库】如何使用jdbc向YashanDB批量插入gis数据
【YashanDB知识库】如何使用jdbc向YashanDB批量插入gis数据
【YashanDB知识库】如何将mysql含有group by的SQL转换成崖山支持的SQL
本文探讨了在YashanDB(崖山数据库)中执行某些SQL语句时出现的报错问题,对比了MySQL的成功执行结果。问题源于SQL-92标准对非聚合列的严格限制,要求这些列必须出现在GROUP BY子句中,而SQL:1999及更高版本允许非聚合列直接出现在选择列中。YashanDB和Oracle遵循SQL-92标准,因此会报错。文章提供了两种解决方法:使用聚合函数处理非聚合列,或将GROUP BY与ORDER BY拆分为两层查询。最后总结指出,SQL-92标准更为严谨合理,建议开发者遵循此规范以避免潜在问题。
【YashanDB知识库】XMLAGG方法的兼容
【YashanDB知识库】XMLAGG方法的兼容
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
【YashanDB 知识库】如何将 mysql 含有 group by 的 SQL 转换成崖山支持的 SQL
在崖山数据库中执行某些 SQL 语句时出现报错(YAS-04316 not a single-group group function),而这些语句在 MySQL 中能成功执行。原因是崖山遵循 SQL-92 标准,不允许选择列表中包含未在 GROUP BY 子句中指定的非聚合列,而 MySQL 默认允许这种操作。解决办法包括:使用聚合函数处理非聚合列或拆分查询为两层,先进行 GROUP BY 再排序。总结来说,SQL-92 更严格,确保数据一致性,MySQL 在 5.7 及以上版本也默认遵循此标准。
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
795 0
MySQL DQL(数据查询语言)深度解析与实践
MySQL DQL(数据查询语言)深度解析与实践
【SQL Server】数据库开发指南(六)索引和视图的使用技巧、方法与综合应用
索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度。它类似于书籍的索引,可以帮助快速定位和检索数据。在数据库中,索引是对一个或多个列的值进行排序和存储的结构,它们包含指向实际数据位置的指针。视图就是一个虚拟的数据表,该数据表中的数据记录是由一条查询语句的查询结果得到的。
450 1
【SQL Server】数据库开发指南(六)索引和视图的使用技巧、方法与综合应用
【SQL Server】数据库开发指南(五)T-SQL 高级查询综合应用与实战
T-SQL 是 SQL Server 的专用版本,提供了一组强大的高级查询功能,包括聚合函数、子查询、连接、视图、窗口函数、共享表达式、递归查询等。这些功能使得 T-SQL 可以轻松处理大量数据,并支持各种复杂的查询和数据操作。本文将介绍 T-SQL 的一些常见高级查询功能和语法,以及如何使用这些功能来优化 SQL Server 数据库的性能和效率。
432 1
【SQL Server】数据库开发指南(五)T-SQL 高级查询综合应用与实战
【MySQL】DQL数据查询语言(非常适合MySQL初学者学习)
【MySQL】DQL数据查询语言(非常适合MySQL初学者学习)
146 0