gpt4 book ai didi

java - Spring-MVC、Hibernate、Postgres : Searching in database with multiple variables

转载 作者:行者123 更新时间:2023-12-01 11:34:55 26 4
gpt4 key购买 nike

我正在开发一个 Spring-MVC 应用程序,我想在数据库中搜索用户选择的选项组合。假设有 10 个选项,如果用户选择其中 7 个,我如何使用单个查询有效地在 DAO 中编写单个方法,该方法可以适应选项的数量。请看下面的图片:

Ebay search

正如您在左侧看到的,有多个选项,用户可以选择自己选择的选项。我正在寻找类似的东西,我创建了一个搜索对象实体,并且我想将该实体传递给 dao,其中将提取其变量并在数据库中执行搜索。

但是如果有 3 个变量,我会看到查询如下:

伪代码:

public ResultObject doSearch(var1, var3, var3){
if((var1==true)){
// hibernate query for search where var1 equals true
}
if(!(var2==null)&&(var1==true)){
//Hibernate query for search where var2 is set by user and var1 is true
}
}

但如果我继续以如此可怕的方式做,我将永远无法完成。当只应包含设置的变量而丢弃其他变量时,处理多个变量进行搜索的方法是什么?请告诉我。谢谢。

最佳答案

使用 StringBuilder。只要变量彼此独立,这应该会更容易。

StringBuilder sb = new StringBuilder();

sb.append("FROM phone WHERE 1=1 ");


if (var1) {
sb.append(" AND var1 = :var1");
}

if (var2) {
sb.append(" AND var2 = :var2 ");
}

sb.toString();

关于java - Spring-MVC、Hibernate、Postgres : Searching in database with multiple variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30103439/

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