当我们在查询数据库中的信息时,很多时候需要根据用户输入的条件进行查询,有些条件是有的,可有些条件没有,这就需要进行组装条件语句了。下面这种方法就是根据这种情况进行编写的,希望对看官有所帮助:
String sql = "select * from table where "; //where后1
个空格
StringBuffer stb = new StringBuffer(sql);
if(!(name == null || "".equals(name))) {
stb.append(" name = '" + name + "' and "); //and后3个空格
}
if(!(age == null || "".equals(age))) {
stb.append(" age = '" + age + "' and "); //and后3
个空格
}
if(!TextUtils.equals(stb.toString(), "")){
sql = stb.substring(0, stb.length() - 6);
}
//where后空1个空格和and后空3个空格长度都是6个字符,这是为了方便最后减掉多余部分 长度都是6
return sql;