
java关于多条件查询的问题,急啊。。
我用SSH2框架,现在一个页面上有4个查询条件,要求是可以单个查询,两个,三个,四个一起查询,我该如何写这条sql??如果写不了的话,还有没有别的方法能实现这个功能。。...
我用SSH2框架,现在一个页面上有4个查询条件,要求是可以单个查询,两个,三个,四个一起查询,我该如何写这条sql??如果写不了的话,还有没有别的方法能实现这个功能。。
展开
3个回答
展开全部
写sql的时候 加上条件where 1=1 。在后台判断前台传过来的值,如果不为null或者"" 时,加上查询条件 and ....= ... 依次类推。就可以实现你说的功能。
展开全部
例如:
public List getXXX(String param1,String param2,String param3,String param4){
String hql = "from 表名 where 1==1 ";
if(!"".equals(param1))
hql = hql + "and 列名 = "+param1;
if(!"".equals(param2))
hql = hql + "and 列名 = "+param2;
if(!"".equals(param3))
hql = hql + "and 列名 = "+param3;
if(!"".equals(param4))
hql = hql + "and 列名 = "+param4;
……接下来就是hibernate执行查询喽,上面的“列名=”可以换成你需要的列名like等等……
}
public List getXXX(String param1,String param2,String param3,String param4){
String hql = "from 表名 where 1==1 ";
if(!"".equals(param1))
hql = hql + "and 列名 = "+param1;
if(!"".equals(param2))
hql = hql + "and 列名 = "+param2;
if(!"".equals(param3))
hql = hql + "and 列名 = "+param3;
if(!"".equals(param4))
hql = hql + "and 列名 = "+param4;
……接下来就是hibernate执行查询喽,上面的“列名=”可以换成你需要的列名like等等……
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先写查询表名,后跟where 1=1 然后你得到多少值就加几个条件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询