将数据放入到session域中,用的时候取出;还是重新查一遍数据库?
做web开发,使用struts2+hibernate构架。方式一、例如我从数据库查询出个一对象,然后放入到session域中,在jsp页面中进行该对象的操作。如果再次使用...
做web开发,使用struts2+hibernate构架。
方式一、例如我从数据库查询出个一对象,然后放入到session域中,在jsp页面中进行该对象的操作。如果再次使用的时候,在从session域中将这个对象取出来。
方式二、我从数据库中查询出一个对象,放入到request域中,在jsp中进行操作。如果我要再次使用的时候,再次从数据库中查这个对象。
比较:这两种方式那种比较好?从开销和效率上面来说?
补充:hibernate的懒加载我给关闭了,每次查询的时候,会把相关的数据都查出来。 展开
方式一、例如我从数据库查询出个一对象,然后放入到session域中,在jsp页面中进行该对象的操作。如果再次使用的时候,在从session域中将这个对象取出来。
方式二、我从数据库中查询出一个对象,放入到request域中,在jsp中进行操作。如果我要再次使用的时候,再次从数据库中查这个对象。
比较:这两种方式那种比较好?从开销和效率上面来说?
补充:hibernate的懒加载我给关闭了,每次查询的时候,会把相关的数据都查出来。 展开
6个回答
展开全部
按找你的表述,肯定是少访问数据库好,选第一种方案.但是推荐的是,如果数据发送改变还必须从数据库中从新Load数据才行.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一种
既然都存到session里了 为什么还重新查询数据库?
存的时候:request.getSession().setAttribute("AA", ss);
取的时候:ss = (object)request.getSession().getAttribute("AA"));
这里的object是你要存的类型
既然都存到session里了 为什么还重新查询数据库?
存的时候:request.getSession().setAttribute("AA", ss);
取的时候:ss = (object)request.getSession().getAttribute("AA"));
这里的object是你要存的类型
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看情况 ,比方说你要很频繁的使用一个对象比方说登陆用户user对象 。那就把他放到session里。。 查数据库效率低。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一些系统中需要的数据,一般放到session 中,就是为了不让频繁方位数据库,如登录人的一些信息,如果是表单查询的数据,一般当request中,这个可能随机都要变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看同步需求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询