关于sql拼接的知识点 where1=1

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 "//查询全部

 

posted @ 2019-10-14 17:37  三只坚果  阅读(612)  评论(0编辑  收藏  举报