服务器单独运行jar包方法

11 篇文章 0 订阅
3 篇文章 0 订阅

项目中遇到个问题,要为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


最后的所有文件


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值