最近在做一个项目,要求数据库中的某一个表每隔五分钟去将别的表统计完的数据存到这个表中,我想这个与我所做的系统没有什么关系,就算我所做的系统停了,这个数据库统计功能还是需要继续的,所以我想用java写一个外挂程序,在数据库服务器上面单独运行这个程序来完成对数据的统计任务,下面就是我的解决方案:
将写好的程序打到jar文件里面,然后双击这个jar文件,启动命两行,输入数据库url、用户名、密码,连接数据库,如果连接成功,则可使数据统计功能,现在遇到一个问题,就是如何实现双击jar文件启动命令行,在网上查了半天终于被寡人掏到,下面就将此秘籍公于天下,其实很简单,只要写一个批处理文件就搞定了,如下:
//
打到jar包中的文件
package com;
import java.io. * ;
public class MyClass {
public static void main(String[] args) throws IOException{
/* JFrame f=new JFrame();
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.getContentPane().add(new JLabel("Hello world"));
f.setSize(200,200);
f.setVisible(true); */
double gallons;
double liters;
System.out.println("Change Gallon to Liter");
// 下面是对输入字符的处理
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input gallons: ");
gallons = Double.parseDouble(in.readLine());
liters = gallons * 3.7854;
System.out.println(gallons + " gallons is " + liters + " liters.");
}
}
package com;
import java.io. * ;
public class MyClass {
public static void main(String[] args) throws IOException{
/* JFrame f=new JFrame();
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.getContentPane().add(new JLabel("Hello world"));
f.setSize(200,200);
f.setVisible(true); */
double gallons;
double liters;
System.out.println("Change Gallon to Liter");
// 下面是对输入字符的处理
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input gallons: ");
gallons = Double.parseDouble(in.readLine());
liters = gallons * 3.7854;
System.out.println(gallons + " gallons is " + liters + " liters.");
}
}
//
批处理文件 mybat.bat
java - jar MyJar.jar
pause
// 如此简单???OMG
单击这个bat,万事大吉。。。。。
java - jar MyJar.jar
pause
// 如此简单???OMG
单击这个bat,万事大吉。。。。。