String sql="select * from tab_route where 1 = 1 ";
这样不会报错,而且可以根据情况,再去拼接sql
可以使用if(){}else{}
可以查询到所有数据
如果这样select * from tab_route where ;
就会报错
public int findTotalCount(int cid,String rname) {
//String sql="select count(*) from tab_route where cid=?";// cid就是每个旅游类别的标记比如 cid=1 代表休闲类那么多有休闲都会被查询出来
String sql="select count(*) from tab_route where 1 = 1 ";
StringBuilder sb=new StringBuilder(sql);
List params=new ArrayList();//所有条件
//判断参数是否有值
if (cid !=0){//没有参数那么拼接的就是"select count(*) from tab_route where 1 = 1 "
sb.append(" and cid = ? ");//添加?对应的值
params.add(cid);
}if (rname !=null && rname.length()>0){
sb.append(" and rname like ? ");
params.add("%"+rname+"%");
}
sql = sb.toString();
System.out.println(sql);
return template.queryForObject(sql,Integer.class,params.toArray());//返回一个整数
}
int cid,String rname 如果这俩参数都不传那么执行的就是
"select count(*) from tab_route where 1 = 1 "//查询全部
手机扫一扫
移动阅读更方便
你可能感兴趣的文章