日期:2014-05-19  浏览次数:20662 次

求教SSH登录


我是继承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;
}

------解决方案--------------------
你这个方法是根据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;
}
}


这样你只需要调用这个公共的查询方法就好了!
用hql

from 实体名称 t where t.用户名=? and t.密码= ?

然后将对应的用户名密码放进List里面作为参数跟hql一起传到方法里面、在处理一下返回结果就OK了!
------解决方案--------------------
hql.....
------解决方案--------------------
写HQL还是SQL都不是关键问题,你通过传递过来的用户名,密码能获得ID,就登录好了