SSH 用户登录实现 参数是loginName和loginPassword,请问Dao层怎么实现?还有如何执行自定义SQl语句?

页面传来的值是有的,怎么实现登录?求正确的语法,小弟刚学hibernate,谢谢啊

第1个回答  推荐于2016-10-12
@SuppressWarnings("unchecked")
public TbAsUser findLoginUser(final String name, final String password) {
List<TbAsUser> list = (List<TbAsUser>) getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
List<TbAsUser> result = session.createCriteria(
TbAsUser.class).add(
Restrictions.eq("usercode", name)).add(
Restrictions.eq("userpassword", password))
.list();
return result;
}
});
if (list.size() > 0) {
return (TbAsUser) list.get(0);
} else {
return null;
}
}追问

看不懂啊,add这么多层,能解释一下吗?求指教

本回答被提问者和网友采纳
第2个回答  2012-07-09
在action 中传递两个参数
loginName
loginPassword

在dao层中
SQl: from XX s where s.
loginName =? and s.
loginPassword=?追问

求完整代码。。XX是表名还是实体类名?调用哪个方法,参数则怎么设置进去。。。

追答

实体类 上面那个方法已经可以了

第3个回答  2012-07-09
Query query=session.createQuery("from User where username=? and userpasswd=?");
query.setString(0,name);
query.setString(1,passwd);
List<User> loginuser=query.list();
可以试试绑定参数查询追问

可以试试绑定参数查询
,什么意思?

追答

?就代表的参数,把name和passwd传入参数?

相似回答