java相关 如何把数据库的数据预先存入内存java相关 如何把数据库的数据预先存入内存
java相关 怎么把数据库的数据预先存入内存
举例说,A程序里获得一个id,调用B程序(该程序利用A获得的id进行数据库查询,得到需要的数据)。A程序调用B的数据进行要执行的一些判断之类的。
想要的是A得到的数据不要B多次访问数据库了。想法上是想在servlet初始化时把数据加载进内存,关键怎么编写实现,求帮忙~~有其他思路的也说说吧~~~
新手一枚~~~~~5555
java servlet
数据库
------解决方案-----------------------...
java相关 如何把数据库的数据预先存入内存
java相关 怎么把数据库的数据预先存入内存
举例说,A程序里获得一个id,调用B程序(该程序利用A获得的id进行数据库查询,得到需要的数据)。A程序调用B的数据进行要执行的一些判断之类的。
想要的是A得到的数据不要B多次访问数据库了。想法上是想在servlet初始化时把数据加载进内存,关键怎么编写实现,求帮忙~~有其他思路的也说说吧~~~
新手一枚~~~~~5555
java servlet
数据库
------解决
--------------------------------------------------------
完全可以啊。
你创建一个servlet的时候,添加一个init()
,init方法中执行查询数据库的方法,把数据导入内存。
默认情况下servlet被加载是在第一次请求访问到来得时候,不过可以使用xml文件中配置
load-on-startup -1 /load-on-startup
是其在启动tomcat服务的时候就加载servlet就可以了。
------解决方案--------------------------------------------------------
楼主的意思是想在初始化servlet的时候,执行数据库查询操作,将所需要的数据都缓存到内
存中,之后查询数据不需要到数据库中.建立一个全局变量Arraylist,在serverlet的init()方法中写hibernate语句,然后将查询的结果集赋值给Arraylist,之后的查询只需要在调用的方法中去遍历Arraylist这个变量就行了。当然这只是在一个servlet中定义全局变量,如果需要在不同的jsp页面或是serverlet中也能遍历到Arraylist这个对象,就将Arraylist保存到httpsession对象中
------解决方案--------------------------------------------------------
public class First_test extends HttpServlet {
List Object list=null;
========================================
public void init() throws
ServletException {
// Put your code here
//init()中加载数据库中的查询到的数据
Session session=(new Configuration()).buildSessionFactory().openSession();
String hql= ;/* 数据查询省略*/
Query query=session.createQuery(hql);
//这个list变量在sevelet开始就定义了
list= query.list();
for(Object l:list){
}
=============================
在doget或是dopost方法里面
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,
IOException {
HttpSession session2=request.getSession();
session2.setAttribute( infomation , list);
}
=================
之后不管是在jsp页面上取值还是在servlet中,都可以通过HttpSession 定义的对象调用getParameter( information )方法取得list,
本文档为【java相关 如何把数据库的数据预先存入内存】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。