欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

服务器单独运行jar包方法

程序员文章站 2022-03-30 22:58:40
...

项目中遇到个问题,要为7000多张表加索引,不可能手动添加,于是就需要写个单独的程序来添加


分为几步:

1,写一个java程序

2,创建MF文件,指定引入的jar包,以及函数入口

3,导出jar文件

4,上传jar文件以及 所需jar包到服务器

5,在服务器执行 java -jar 文件名.jar

下面是程序源码以及包结构

package com.xc.main;

import java.util.ArrayList;
import java.util.List;

import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.druid.DruidPlugin;

public class Main {

	public static void main(String[] args) {
		String jdbcUrl = "jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull";
		DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl,"用户名", "密码");
		druidPlugin.start();
		ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
		arp.start();
		//指定需要创建索引的设备表
		List<String> deviceIds=new ArrayList<String>();
		deviceIds.add("20000000000a1");
		deviceIds.add("15200017");
		deviceIds.add("15460001");
		deviceIds.add("10000000000e1");
		deviceIds.add("10000000000f1");
		deviceIds.add("10000000001a1");
		deviceIds.add("10000000001b1");
		deviceIds.add("10000000001c1");
		deviceIds.add("10000000001d1");
		deviceIds.add("10000000001e1");
		//为指定的表创建索引
		for(String s:deviceIds){
			System.err.println("查询表:"+s);
			List<Record> dataIndexList=Db.find("show index from xc_cool_data_"+s+";");
			List<Record> gpsIndexList=Db.find("show index from xc_cool_gps_"+s+";");
			
			boolean dataHasDatelineIndex=false;
			boolean gpsHasDatelineIndex=false;
			//查看是否已经建了索引
			if(dataIndexList!=null&&dataIndexList.size()>0){
				for(Record r:dataIndexList){
					if(r.getStr("Column_name").equals("dateLine")){
						dataHasDatelineIndex=true;
					}
				}
			}
			
			if(gpsIndexList!=null&&gpsIndexList.size()>0){
				for(Record r:gpsIndexList){
					if(r.getStr("Column_name").equals("dateLine")){
						gpsHasDatelineIndex=true;
					}
				}
			}
			
			if(!dataHasDatelineIndex){
				System.err.println("为xc_cool_data_"+s+"   加索引");
				Db.update("ALTER TABLE `xc_cool_data_"+s+"` ADD INDEX xc_cool_data_"+s+"_dateline ( `dateLine`)");
			}
			if(!gpsHasDatelineIndex){
				System.err.println("为xc_cool_gps_"+s+"   加索引");
				Db.update("ALTER TABLE `xc_cool_gps_"+s+"` ADD INDEX xc_cool_gps_"+s+"_dateline ( `dateLine`)");
			}
		}
		
		
			
	}

}

MANIFEST,.MF文件

Manifest-Version: 1.0
Class-Path:   lib/druid-0.2.20.jar  lib/jfinal-3.0-bin-with-src.jar   lib/mysql-connector-java-5.1.20-bin.jar                                                          
Main-Class: com.xc.main.Main


最后的所有文件

服务器单独运行jar包方法

相关标签: 单独运行jar