gpt4 book ai didi

java - 如何根据输入字段值动态形成 SQL 查询

转载 作者:行者123 更新时间:2023-12-02 04:42:46 24 4
gpt4 key购买 nike

我有三个字段

 String stateID = "";
String districtID = "";
String talukaID = "";

这三个字段可以为空也可以有值

表格的描述是

desc tbl_dealer

contactName
phone1
stateID
districtID
talukMandalID

根据收到的值,我必须动态编写 SQL 查询

根据收到的值,我必须动态编写 SQL 查询

例如

如果三个都为空

select contactName , phone1 from tbl_dealer 

如果 stateID 为空,则(从查询中删除状态)

select contactName , phone1 from tbl_dealer where districtID = "'+districtID+'" AND talukaID = "'+talukaID+'"

所有情况都类似

你能告诉我如何有效地写这个吗,

最佳答案

我建议,首先创建一个方法:

private void appendFilter(StringBuilder sb, String fieldName, String fieldValue) {
if(fieldValue != null && !fieldValue.trim().equalsIgnoreCase("")) {
sb.append("AND "+fieldName+"='"+fieldValue+"'");
}
}

然后使用这个方法:

StringBuilder sb = new StringBuilder();
sb.append("select contactName , phone1 from tbl_dealer where 1=1 ");
appendFilter(sb, "districtID", districtID);
appendFilter(sb, "stateID", stateID);
appendFilter(sb, "talukaID", talukaID);
final String query=sb.toString();

关于java - 如何根据输入字段值动态形成 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29990281/

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