spring hibernate3.0 如何解决多条件查询

  在以前的一些解决方案中,关于多条件查询我都是采用拼SQL语句,但是,hibernate3.0在输入中文时,出现乱码,所以,只有换一种方式来解决;我看大家都说用站位符,但没有很详细的说明,采用站位符,该如何实现多条件差查询;下面是我看文档写的一个测试方法:
      根据userid查询:
     public List searchSysusers(Sysuser sysuser){
    	SessionFactory sessionFactory=getHibernateTemplate().getSessionFactory();
    	Session sess=sessionFactory.openSession();
    	List list=sess.createCriteria(Sysuser.class)
          .add(Restrictions.eq("userid", "test1")).list();
    	sess.close();
    	return list;
    }
    

   根据userid 和department查询:
 
   public List searchSysusers(Sysuser sysuser){
    	SessionFactory sessionFactory=getHibernateTemplate().getSessionFactory();
    	Session sess=sessionFactory.openSession();
    	List list=sess.createCriteria(Sysuser.class)
          .add(Restrictions.eq("userid", "test1"))
          .add(Restrictions.like("department","%工程部%")).list();
    	sess.close();
    	return list;
    }


  都能把结果正确查询出来,但是当我要输入一个或者多个查询条件时,却不知道该如何实现了;因为我输入的查询条件个数是不确定的; 当然,如果我要查询的条件个数不是很多的话,判断以下就成,但是 如果条件很多的话,用判断显然是不行的;
   请教大家这个问题该如何解决?

你可能感兴趣的:(spring,sql,C++,c,C#)