首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MyBatis +PostgreSQL

MyBatis +PostgreSQL
EN

Stack Overflow用户
提问于 2015-07-08 10:44:16
回答 1查看 1.2K关注 0票数 0

我试图使用MyBatis作为对象映射器,对PostgreSQL数据库中的数据库行执行径向搜索,以返回MyBatis对象。连接和所有查询都按预期工作,但径向搜索除外。我已经在数据库中安装了PostGIS。查询在XML配置文件中设置。麻烦的查询是...

代码语言:javascript
复制
select * from "Events"
    where (ST_DWithin("CreationLocation"::geography, ST_SetSRID(ST_Point(#{longitude}, #{latitude}), 4326)::geography, #{radius})
    and "Tag" = 0 and "EventTime" >= now())

如果我使用PGAdmin直接连接到数据库,并使用传递给映射器的相同参数运行查询,我会得到多个(正确的)结果。当映射器运行查询时,我没有得到任何结果。我相信这与MyBatis的准备语句有关,但我不知道更多。

EN

回答 1

Stack Overflow用户

发布于 2015-07-08 11:44:13

我最终通过更改ST_SetSRID(...)解决了这个问题。至

代码语言:javascript
复制
ST_GeogFromText('SRID=4326;POINT(' || #{longitude} || ' ' || #{latitude} || ')')

我的假设(虽然我还没有确认)是对象映射器不知道如何处理双重嵌套参数,并且它只是被传递“?”而不是lat和long的实际值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31282648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档