List<String> list = new ArrayList<String>();
if(id != null && !"".equals(id)){
sb.append( "and tw.id = ? ");
list.add(id);
}
if(memo!=null && !"".equals(memo)){
sb.append( "and tw.memo like ? ");
list.add("%"+memo+ "%");
}
sb.append( "order by tw.id desc");
String[] params = null;
if(list!= null && !list.isEmpty()){
params= list.toArray(new String[ list.size()]);
}
if(id != null && !"".equals(id)){
sb.append( "and tw.id = ? ");
list.add(id);
}
if(memo!=null && !"".equals(memo)){
sb.append( "and tw.memo like ? ");
list.add("%"+memo+ "%");
}
sb.append( "order by tw.id desc");
String[] params = null;
if(list!= null && !list.isEmpty()){
params= list.toArray(new String[ list.size()]);
}
本文介绍了一种使用Java和ArrayList来动态构建SQL查询的方法。根据id和memo这两个条件,构造了一个带有占位符的SQL语句,并将具体的值添加到参数列表中。通过这种方式可以有效地防止SQL注入攻击,同时展示了如何根据集合的非空状态来决定是否添加查询条件。
8450

被折叠的 条评论
为什么被折叠?



