hibernate hql 语句使用 if 进行判断查询

@Override
	public List Excel(String FbillNo, String FK3BillNo,Integer kh,Integer clID,Integer FPayStatus,String FExpress) {
		StringBuffer hql= new StringBuffer();
		if(kh!=null) {
			hql.append("from Order o where o.clientId="+clID+"");
			if(FbillNo.length()!=0) {
				hql.append("and o.billNo like '%"+FbillNo+ "%'");
			}
		}else {
		hql.append("from Order o where 1=1");
		if(FbillNo.length()!=0) {
			hql.append("and o.billNo like '%"+FbillNo+ "%'");
		}
		if(FK3BillNo.length()!=0) {
			hql.append("and o.k3InterID like '%"+FK3BillNo+ "%'");
		}
		if(FPayStatus!=null) {
			hql.append("and o.paystatus like '%"+FPayStatus+ "%'");
		}
		if(FExpress.length()!=0) {
			hql.append("and o.express like '%"+FExpress+ "%'");
		}
		}
		   Query query=getSession().createQuery(hql.toString());
//			query.setParameter("status", 2);
		   List list = query.list();
		return list;
	}

 

你可能感兴趣的:(SSH,hibernate)