MYSQL多重条件查询的问题
有5个框,每个框都可以输入条件!希望能够实现的是任意一个条件,任意两个条件,任意三个条件,任意四个条件,五个条件都能查找到结果!
以上需求该如何实现?因为有的后面是追加查询条件and xxx = xxx 有的是 where xxx = xxx
希望大家能提供一点思路
//如果关键字KEYWORD不为空
if(typeId != null && !StringUtils.isEmpty(keyword)){
String tmp = "";
if (typeId<2) {
switch (typeId){
case 0:
tmp = "id";
break;
case 1:
tmp = "userId";
break;
}
whereSql = "from Order a where a. "+tmp+" = ?";
params.add(Long.parseLong(keyword));
}else {
whereSql = "from Order a,Ticket b,Attractions c where a.ticketId=b.id and b.jdId = c.id and c.name like ? ";
params.add("%" + keyword + "%");
}
} else {
whereSql = "from Order";
}
//如果订单状态不为空
if(orderStatus != null && !orderStatus.equals(-1)){
whereSql +=" and orderStatus = ?";
params.add(orderStatus);
}
//如果门票状态不为空
if(ticketStatus !=null && !ticketStatus.equals(-1)){
whereSql +=" and ticketStatus = ?";
params.add(ticketStatus);
}
//如果地区不为空
if(areaId !=null){