一般用户登录 验证是怎么判断的
我之前是拿着用户名和密码 到数据库查询是否有匹配的 根据“返回值”判断是否登录
但是昨天看了 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了