gpt4 book ai didi

java - 当使用for循环生成条件时,如何在ormlite中编写查询

转载 作者:行者123 更新时间:2023-12-01 07:39:09 25 4
gpt4 key购买 nike

我正在 ormlite 中编写一个查询,如下所示

Where<Advertisement, Integer> where = queryBuilder.where();
where.and(
where.between("latitude", pLatitude - APPOXIMATION_FACTOR,
pLatitude + APPOXIMATION_FACTOR),
where.between("longitude", pLongitude - APPOXIMATION_FACTOR,
pLongitude + APPOXIMATION_FACTOR)
.and().between("width", pWidth - APPOXIMATION_FACTOR,
pWidth + APPOXIMATION_FACTOR),
);

还有一个,还有这个

for (int iterator = 0; iterator < moduleList.size(); iterator++) {
where.eq("id", moduleList.get(iterator).getmId());
if (iterator != advertisementList.size() - 1){
whereForModuleID.or();
}
}

但我不知道在这种情况下如何编写查询

寻求帮助

最佳答案

在第二种情况下,我会使用 where.in(String, Iterable)方法。你应该做这样的事情:

List<Integer> idList = new ArrayList<Integer>();
for (Module module : moduleList) {
idList.add(module.getmId());
}
where.in("id", idList);

这会变成一个 SQL 查询,例如:

SELECT * `foo` WHERE `id` IN (7, 17, 1, 34)

以下是关于 where.in() 的文档:

http://ormlite.com/docs/where-in

就原始问题而言,请参阅此answer about the where.and(int) and or(int) methods .

关于java - 当使用for循环生成条件时,如何在ormlite中编写查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7605725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com