数据库中有一张表tablename=a,a表中有两列数据,b和c用java怎么实现每小时从a表中取出b列中的数据啊?高手帮忙,谢谢!

解决方案 »

  1.   


    WEB工程的WEB.XML里配置一个定时器.参考:http://nanhaochen.blog.51cto.com/228629/45593
      

  2.   


    好的,记得给分。
    一共3个文件:web.xml  ;  TimeLister.java  ;  TimeTest.java
    结构:
    -com
       + - TimeLister.java
       + - TimeTest.javaweb.xml<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <listener>
    <listener-class>com.TimeLister</listener-class>
    </listener>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>TimeLister.javapackage com;
    import java.util.Timer;
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    public class TimeLister implements ServletContextListener {
    private Timer timer;
    public void contextDestroyed(ServletContextEvent sce) {
    timer.cancel();
    System.out.println("定时器销毁!");
    }
    public void contextInitialized(ServletContextEvent sce) {
    timer=new Timer(true);
    TimeTest timeTest=new TimeTest();
    System.out.println("定时器销毁!");
    timer.schedule(timeTest,1000,2000);
    //1000是启动后1秒后开始运行
    //2000是每次运行后2秒后再次运行,你要每小时那就是1000*60*60
    //timer.schedule(timeTest,1000,1000*60*60);
    }
    }
    TimeTest.javapackage com;
    import java.util.Date;
    import java.util.TimerTask;
    public class TimeTest extends TimerTask{
    public void run() {
    Date date =new Date();
    System.out.println("操作开始:"+date.toLocaleString());
    System.out.println("正在操作,请稍候!");
    try {
    Thread.sleep(2000);//让线程停2秒,你不想要可以去掉。
    //写你的操作!!!!!!!!!!!!!!!!!!!!!!!!!!!
    //这里的数据库操作我就不给你做了,这个你肯定会的。
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    System.out.println("操作结束:"+date.toLocaleString());
    System.out.println("");
    }
    }
      

  3.   

    TimeLister.java
    第2个  System.out.println("定时器销毁!");
    改成   System.out.println("定时器开始!");