项目中遇到个问题,要为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包方法相关推荐

  1. Linux服务器后台运行jar包

    转载自https://juejin.im/post/5b47411ee51d45190570ce6d 最终的运行命令: nohup java -jar xxx.jar >logs.txt &am ...

  2. docker java -jar_使用Docker安装Java镜像运行jar包方法

    1.下载java镜像,tag为8u111docker pull java:8u111 2.运行docker容器docker run --name trading-server -p 5566:5566 ...

  3. Windows服务器后台运行jar包

    一.问题概述 在windows的服务器中,通过打开一个cmd窗口,执行java --jar xxxx.jar的方式,每一个cmd窗口,相当于一个临时session会话,当cmd窗口关闭之后,启动的ja ...

  4. centos运行jar包需要的环境_Centos7服务器下启动jar包项目的最佳方法

    前言 在linux上运行jar包谁都会啊.为什么我还要单独拎出来讲呢.细心的朋友可能已经在标题中发现关键词Centos7和最佳方式. 这就说明我不是随便写点东西水一篇博客的ヾ(◍°∇°◍)ノ゙ 首先C ...

  5. 【在linux云服务器上传jar包并运行jar】以及Linux运行包的相关命令

    系列文章目录 文章目录 系列文章目录 前言 一.上传jar包 二.云服务器运行jar包相关命令 1.运行jar包 2.关闭jar包 前言 一.idea打jar包教程.点击浏览文章 二.笔者是用第三方X ...

  6. 云服务器运行jar包相关命令

    云服务器运行jar包相关命令 1.运行jar包 一.在linux服务器上运行Jar文件时通常的方法是: 这种方式特点是ssh窗口关闭时,程序中止运行 java -jar test.jar 二.让Jar ...

  7. 服务器运行jar包日志怎么清理,docker 启动jar包,并将日志文件进行挂载

    服务器直接启动jar包命令 打包好的jar包,如果要运行起来,我们可以安装好java环境只会,直接执行java -jar 将服务启动起来 nohup java -server -Xms256m -Xm ...

  8. 【Linux服务器运行jar包】

    目录 一.运行jar包 二.把命令放在后台执行? 三.终端关闭了,运行中的命令如何不受终端影响? 四.结束jar包运行 五.如何找到已经运行的jar包? 六.如果关闭已经运行的jar包? 七.如何设置 ...

  9. 在Linux服务器运行jar包并一直处于后台执行

    在Linux服务器运行jar包并一直处于后台执行: 一.一般情况 jar包在linux的目录为 /jarmanager/xxx.jar 使用在/jarmanager目录下使用 java -jar xx ...

最新文章

  1. 解决Cygwin编译cocos2dx 遇到的 error: 'UINT64_C' was not declared in this scope 问题
  2. C语言学习之用指针方法对10个整数按由大到小顺序排序
  3. springboot整合postgre和hbase实现互相交互功能
  4. android icon在线更新,Android在线更新下载方案
  5. 过滤器,绑定事件,动画
  6. 在RHEL5/CentOS5上配置使用Open×××
  7. IPMI从驱动到应用(下篇 )
  8. Java实现的各种排序算法
  9. 万网如何修改dns服务器,万网域名如何修改DNS设置方法
  10. excel清单数据导入到开票软件中进行开票
  11. 74cms|骑士cms|开源招聘系统,数据结构
  12. Qt扫盲-QSystemTrayIcon理论总结
  13. 电子测量-不同电压波形对不同检波特性电压表的影响分析
  14. FlexRay学习笔记_2
  15. 微信程序开发之微信接入(详细开发)
  16. 计算机信息心得体会作文50字,信息技术心得体会(精选11篇)
  17. 实用Windows系统快捷键大全
  18. Bugku CTF web source
  19. STM32的RTC时钟,星期(week)不是万年历
  20. 计算机中shell是干什么的

热门文章

  1. 置换群的基本概念与题目
  2. Redis中地理位置GEO模块,非常便捷的来查找附近的人或物
  3. Python读写CSV文件
  4. 网络安全态势感知和OODA模型
  5. 7小时Unity3D游戏开发培训教程
  6. unity3d学习路线选哪家?unity3d培训哪家专业?
  7. html5页面弹幕代码,html5新年许愿文字弹幕代码
  8. 牛客网wannafly挑战赛13-D(贪心)
  9. .NET CoreRT AOT原生程序编译使用的一些小建议
  10. 2015年大二上-数据结构-图-1-(4)-利用遍历思想求解图问题(2)