java多条件模糊查询代码大概实现方法非where 1=1方法
/**
* 查询列表
* @return
*/
public String findJkjkMalfuncExperiencList()
{
StringBuilder hql =new StringBuilder("from JkjkMalfuncexperience ");
boolean b = true;
if(jkjkMalfunc!=null)
{
Expid()!=null&&!"".Expid()))
{
//判断是否有where存在
b = this.hashWhere(hql,b);
hql.append(" expid like '%"Expid()+"%'");
}
Exptitle()!=null&&!"".Exptitle()))
{
b = this.hashWhere(hql,b);
hql.append(" exptitle like '%"Exptitle()+"%'");
}
System.out.println("测试语句:"+hql);
PageResultSet pageResultList = jkjkMalfuncExperienceManager.findJkjkMalfuncList(currentPage,String());
}
return SUCCESS;
}
//判断where是否存在方法
public boolean hashWhere(StringBuilder hql,boolean hashWhere)
{
//where存在将返回false
if(hashWhere)
{
hql.append(" where ");
hashWhere = false;
}else
{
hql.append(" and ");
}
return hashWhere;
}
1 楼
lakewang
2011-11-16
看不懂?应该判断字符串吧
2 楼
duanyiyuan
2011-11-16
你的想法体现了你的探索精神,但是还不如用1=1来的方便,也没有其性能高。
3 楼
yelangking
2011-11-17
其实何必那么写呢,从代码的可读性来说,个人任务还不如1=1 再者,如你这种查询,难道不需要注意sql 注入吗?直接把参数作为字符串拼接在sql后,还是建议使用预处理
本文发布于:2024-02-02 17:33:01,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170686638045356.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |