public List GetStuList(Stuinfo info)
{
String hqlString ="from Stuinfo sinfo where 1=1";
if(info.getSname()!=null && "".equals(info.getSname())!=true  )
{
hqlString+="and sinfo.sname='"+info.getSname()+"'";
}
if(info.getGrade()!=null && "".equals(info.getGrade())!=true && info.getGrade()!=0 )
{
hqlString+= "and sinfo.grade="+info.getGrade()+"";
}

if(info.getClass_()!=null && "".equals(info.getClass_())!=true && info.getClass_()!=0)
{
hqlString +="and sinfo.class_="+info.getClass_()+"";
}

List list = getHibernateTemplate().find(hqlString);
return list;
}这个肯定对你有帮助,其实方法很多,可以自己拼接字符串,比如这个,还可以用一些类来实现同样的功能,如果是模糊查询只需要
把and 改成like等等你需要的关键字

解决方案 »

  1.   

    模糊查询
    where name like ?然后赋值
    setString(1,'%java%');这样就可以了。
      

  2.   

    模糊查询
    where name like ?然后赋值
    setString(1,'%java%');这样就可以了。
      

  3.   

    <% String tiaojian=new String(request.getParameter("tiaojian").getBytes("ISO8859_1"));
       out.print(tiaojian);
    %>
    <%          int i=0;
                ResultSet Rs=null;
        String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=wsgw"; 
        String user="sa";
        String Password="sa";
        String query="SELECT * FROM book WHERE BookName LIKE '%"+tiaojian+"%'";
        dbcon.init(url,user,Password);
        Rs = dbcon.executeQuery(query);
    %>
    参照上面的写法就可以了,是模糊查询的例子
      

  4.   

    String sql=select * from 表名 where 字段名="%"+?+"%";