最近在学习hibernate遇到一个问题,就是在登录页面提交用户名和密码进行到数据库里判断是否注册。
在hibernate session用什么方法来进行判断?
在hibernate session用什么方法来进行判断?
解决方案 »
- extJs 传到后台的字符串成[object object]
- J2EE项目打包 发布
- 关于Struts action之间redirect跳转,数据传递的问题
- 用java开发工具能自动为servlet和jsp生成部署文件吗
- ***大家看看,怎么会出这个问题,List的数据不能强制转换,报错误!***
- Netbeans中我新建ActionForm的时候没有DynaValidatorForm啊
- dom读xml文件的问题
- 在线等....大虾们帮我看看,多谢
- 问您一个小问题
- 请问在项目中一般用BMP还是用CMP的entityBean啊 ?
- 做JDBC时候遇到的小问题 用的是SQL SERVER2000
- Hibernate的rollback不起作用?
User user =new User();
user.setLoginName("admin");//设置账号
user.setPassWord("11233");//设置密码
User user=(User)session.get(user)
如果user==null的话就表示不存在。否则就存在这个用户。
user.setLoginName("admin");//设置账号
user.setPassWord("11233");//设置密码
User user=(User)session.get(user)
如果user==null的话就表示不存在。否则就存在这个用户。
在hibernate session用什么方法来进行判断?
1.先从DB中检查USERNAME 是否存在,如存在存出NAME AND PASSWORD ,然后进行比较,如果为真.或者说如果正确,将其放入到SESSION
User user =new User();
user.setLoginName("admin");//设置账号
user.setPassWord("11233");//设置密码
User user=(User)session.get(user)2,如果没有,看你的要求是否是要注册还是返回失败页面,由你自已定.
如上的使用方法是要先知道该记录的主键值 然后查询的.对于楼主所说的 根据Hibernate查询用户可以使用如下的方式进行:
String name=request.getParameter("username");
String password=request.getParameter("password");
Session ss=new Configuration().configure().buildSessionFactory().openSession()
Object obj=ss.createQuery("from User m where m.name=? and m.password=?").setString(0, name).setString(1, password).uniqueResult();
如上的obj如果为空,表示数据错误. User是通过Hibernate对应的实体类.
该方法绝对正确,而楼上各位所说的方法,我也尝试了但是 Session.get()如果按如上所示的形式使用就会报错.
我觉得登录的判断应该在一个Action里面,用户名和密码是通过Action传进来的,这种直接操作session的语句直接写在Action里面不太好吧,这样就破坏了struts的低耦合性了