解决方案 »
- java.lang.NumberFormatException: For input string: "" 求救……
- 事务中调用web service问题
- 本人初学Struts2中方法不能用,急!!!
- weblogic问题,网站运行一段时间后,页面不能显示内容,一直处于打开状态,请高手帮忙!
- JBoss3.2.3如何变成开发模式?现在编译一个Servlet或者是Java类,都需要重新启动才能生效
- about java调用系统命令问题
- jbuilderx +weblogic 编译错误,很奇怪的错误???大家帮帮眼!!
- 请问在SESS STAFULL BEAN中产生RECORDSET在客户端调用完后会自动马上释放吗?
- 关于事务的问题?
- web版的SoapUI实现方式
- 求助:正则表达式的请进帮忙写下
- java,验证收件人的邮箱是否存在
if(meetId!=null)
map.put("meetId",meetId);
大概这样
这就是是最好的方法?求解...
sql + " where no like '%'||"+no+"||'%' and name like '%'||"+name+"||'%' and ....
StringBuffer param = StringBuffer();
sb.append(" from table where 1=1 ");
id=id==null?"":id;
if(!"".equals(id)){
sb.append(" and id=? ");
param.append(id);
}
name=name==null?"":name;
if(!"".equals(name)){
sb.append(" and name=? ");
param.append(name);
}
start==start?"":start;
if(!""equals(start)){
sb.append(" and start > ?")
param.append(start);
}
end==end?"":end;
if(!"".equals(end)){
sb.append(" and end < ? ");
param.append(end);
}
this.hibernateTemplet.query(sb.toString(),param);
应该差不多了吧
//用于过滤空值和空指针
public boolean reString(String ss){
return null!=ss&!ss.equals("");
}
弄得,也很麻烦呀。
where 1=1
后面就是n个if条件判断组合sql
Map<Object, Object> map = new HashMap<Object, Object>();
if(searchClient!=null && searchClient.length()!=0){
hql.append(" and nc.loginName like :loginName ");
hql.append(" or nc.province like :province ");
hql.append(" or nc.city like :city ");
map.put("loginName", "%" + searchClient + "%");
map.put("province", "%" + searchClient + "%");
map.put("city", "%" + searchClient + "%");
}
if(nc != nuu && nc.name.length()>0){
hql.append(" and nc.name = :自定义 ");
map.put("自定义", nc.getName());
}
hql.append(" order by nc.id desc ");
//查询出所有客户的信息
List<NgtClient> clientUserList =
super.getSessionFactory()
.getCurrentSession()
.createQuery(hql.toString())
.setProperties(map)
.setFirstResult(firstResult)
.setMaxResults(maxResult)
.list();
StringBuffer sb = new StringBuffer();
StringBuffer param = new StringBuffer();
sb.append(" from table ");
id=id==null?"":id;
if(!"".equals(id)){
sb.append(whereOrAnd(param+"")+" id=? ");
param.append(id);
}
......//其他参数依法炮制
//小窍门去掉where 1=1。提高查询效率
private String whereOrAnd(String param){
return !"".equals(param)&&null!=param? "and" : "where";
}
Interface CriteriaQuery<T>