hibernate通过判断参数动态组合Hql语句,生成基本通用查询
1 // 2 public List find(Station entity) { 3 List reuslt = null; 4 5 // 字符串辅助类 6 StringBuffer hql = new StringBuffer("from Station where 1=1"); 7 8 List vp = new ArrayList(); 9 10 if (entity != null) { 11 12 //小于0的和null都不做比较 13 if (entity.getCzdm() != null&&entity.getCzdm()<0) { 14 hql.append(" and czdm=?"); 15 vp.add(entity.getCzdm()); 16 } 17 18 //空字符串和null都不做比较 19 if (entity.getCzmc() != null&&entity.getCzmc().length()>0) { 20 hql.append(" and czmc = ?"); 21 vp.add(entity.getCzmc()); 22 } 23 24 if (entity.getDj() != null) { 25 hql.append(" and dj=?"); 26 vp.add(entity.getDj()); 27 } 28 } 29 30 Query q = gs().createQuery(hql.toString()); 31 32 for (int i = 0; i < vp.size(); i++) { 33 q.setParameter(i, vp.get(i)); 34 } 35 36 reuslt = q.list(); 37 return reuslt; 38 }
---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!