一般多个条件的时候,处理方式是 select * from table where 1 = 1先写上这样一个条件,这样你以后的条件就可以直接用 if判断了,比如现在有A ,B 两个条件 就可以直接这样
String sql = "select * from table where 1 = 1";
if( 条件A != null ){
sql += " and A =" + 条件A;
}
if( 条件B != null ){
sql += " and B =" + 条件B;
}
这样就可以避免多种情况存在的问题
if(null != idNum && !idNum.equals("")){
sql+= " and d_num =:idNum ";
}
if(null != name && !name.equals("")){
sql += " and name like :name ";
}
你可以用 mybaitis 框架,动态sql.如果是同一张表的话,Hibernate,也有方法处理这些,不过,我对Hibernate 不熟