我是继承HibernateDaoSupport 做的实现下面这个方法是我根据ID查寻, 现在我要做一个登录,用HibernateDaoSupport可以实现吗?是要用HQL还是SQL? 我一时没了头路啊,请各出点代码给小弟参考一下,最好把方法写全了,谢谢。public Iuser loadUser(Integer id) {
Iuser user = (Iuser)this.getHibernateTemplate().get(Iuser.class,id);
System.out.println(user);
return user;
}

解决方案 »

  1.   

    你这个方法是根据ID来获取对象!
    但是你是登录、在登录之前是没有用户的编号的!
    下面给你一个公共的查询方法:public class HqlDaoImpl<T, PK extends Serializable> extends HibernateDaoSupport{
    private Session session = null;
    public List<T> find(String hql, List<T> params) {
    // TODO Auto-generated method stub
    List result = null;
    if (null != hql && !"".equals(hql.trim())){
    try {
    session = this.getSession();
    Query query = session.createQuery(hql);
    if (null != params) {
    for(int i = 0; i < params.size(); i++) {
    query.setParameter(i, params.get(i));
    }
    }
    result = query.list();
    } catch(Exception ex) {
    ex.printStackTrace();
    }
    }
    return result;
    }
    }
    这样你只需要调用这个公共的查询方法就好了!
    用hqlfrom 实体名称 t where t.用户名=? and t.密码= ?
    然后将对应的用户名密码放进List里面作为参数跟hql一起传到方法里面、在处理一下返回结果就OK了!
      

  2.   

    写HQL还是SQL都不是关键问题,你通过传递过来的用户名,密码能获得ID,就登录好了