微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PreparedStatement (Java) 使用 Oracle SDO_RELATE()

如何解决PreparedStatement (Java) 使用 Oracle SDO_RELATE()

我想从 Oracle 数据库表中查询带有空间参考的行。 据我所知,使用准备好的语句(Java)是最有效的方法,也可以防止 sql 注入。 然而,准备好的语句只允许更改变量而不是列。在 sdo_relate 的情况下,sdo_relate 函数就像一个列。如何在 Java 中使用绑定变量(使用 ? 作为占位符)来替换 SDO_ORDINATE_ARRAY() 中的坐标?

SELECT *
FROM exampletable 
WHERE SDO_RELATE(footprint,SDO_GEOMETRY(2003,NULL,SDO_ELEM_INFO_ARRAY(1,1003,3),SDO_ORDINATE_ARRAY(1.0546875,41.50857729743939,23.906249999999996,54.05938788662357)),'mask=anyinteract') = 'TRUE'; 

我想做什么:

SELECT *
FROM exampletable 
WHERE SDO_RELATE(footprint,SDO_ORDINATE_ARRAY(?,?,?)),'mask=anyinteract') = 'TRUE'; 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。