日期:2014-05-18  浏览次数:20611 次

一般用户登录 验证是怎么判断的
我之前是拿着用户名和密码   到数据库查询是否有匹配的   根据“返回值”判断是否登录  
 
但是昨天看了   HashSet   。我觉得可以把   数据库里的数据全部取出来   放到   HashSet   中   ,用contains()方法判断   是否   通过验证登录

不知道哪个效率高点   请问一般开发的时候是怎么   写用户验证的?




------解决方案--------------------
前面那个效率高。
数据库查询
select * from usertable where name= 'xxx ' and psw= 'xxx '

而后面那个如果用户多了,全部取出来,比如有几万个用户,
你机器都可能崩溃掉。
------解决方案--------------------
一般就是前一个
没必要把用户都取出来吧
------解决方案--------------------
一般都用hashset,因为hashmap,hashset都继承了map这个接口,他们的区别想必你也知道了!
------解决方案--------------------
怎么可以把数据库里的东西都拿到内存里来呢。
------解决方案--------------------
你查询,然后rs.next()就可以啊。你是什么意思啊?
------解决方案--------------------
直接用用户名和密码做条件查询,还用rs.next()干吗
------解决方案--------------------
用procedure.更快.
------解决方案--------------------
就用 select * from usertable where name= 'xxx ' and psw= 'xxx '
------解决方案--------------------
用select 如果多人登陆 就是考验连接池性能

用hashmap 如果数据库有很多人 就是考验内存
------解决方案--------------------
用前者
要注意: ' or '1 '= '1
------解决方案--------------------
全部取出来的话,大量浪费系统资源,数据多的话就O了