1. 程式人生 > >BAT指令碼執行多個JAR的java客戶端 -Djava.ext.dirs

BAT指令碼執行多個JAR的java客戶端 -Djava.ext.dirs

@echo off
title -資料庫版本管理工具-
color 2f

set CLASSPATH=%CLASSPATH%; 
set PATH=%PATH% 
set JAVA_HOME=%JAVA_HOME%

echo.-------------------資料庫版本管理-----------------
echo.

setlocal
echo.mainclass          執行的目標mian類
set mainclass=com.hand.hdmp.tools.integration.commandline.DbTools
echo.

echo.task               deployment,version-upgrade,version-initialize-3個處理過程方法
echo.                   deployment-部署資料庫
echo.                   version-initialize-從資料庫生成資料庫版本管理檔案-初始化
echo.                   version-upgrade-從資料庫生成資料庫版本管理檔案-升級
set task=version-initialize
echo.

echo.method             generate,dialect,xml,data四個處理過程方法
echo.                   generate: 生成db.changelog.log檔案
echo.                   dialect: 處理db.changelog.log檔案
echo.                   xml: 按模組生成表結構檔案
echo.                   data: 按模組生成表資料檔案
set method=generate,dialect,xml,data
echo.

echo.filepath           指令碼安裝部署檔案所在目錄
set filepath=C:\Users\Administrator\Desktop\hdmp
echo.

echo.xmlmodules         xmlmodules:可配置按模組執行,也可執行明細模組的明細表
echo.                   整個模組下的所有表如:dbm[all],sys[all]
echo.                   模組下的某些表如:dbm[dbm_datasource#tab1#...]sys[sys_user#tab2#...]
set xmlmodules=act[all],alm[all],dbm[all],dc[all],dd[all],dm[all],dr[all],hrp[all],ifm[all],mdm[all],pth[all],ptm[all],rdo[all],sys[all],tsp[all]
echo.

echo.datamodules        datamodules:可配置按模組執行,也可執行明細模組的明細表
echo.                   整個模組下的所有表如:dbm[all],sys[all]
echo.                   模組下的某些表如:dbm[dbm_datasource#tab1#...]sys[sys_user#tab2#...]
set datamodules=act[all],alm[all],dbm[all],dc[all],dd[all],dm[all],dr[all],hrp[all],ifm[all],mdm[all],pth[all],ptm[all],rdo[all],sys[all],tsp[all]
echo.

echo.filename           generate-生成db.changelog.log檔名
set filename=db.changelog.xml
echo.

echo.username           資料庫使用者名稱
set username=hap_prod_230_241
echo.

echo.password           資料庫密碼
set password=hap_prod_230_241
echo.

echo.url                資料庫URL連線
set url=jdbc:oracle:thin:@localhost:1521:orcl
echo.

echo.driverjar          資料庫驅動jar名
set driverjar=ojdbc7-12.1.0.1.0.jar
echo.

echo.driver             資料庫驅動類名
set driver=oracle.jdbc.driver.OracleDriver
echo.

echo.dataconfig         loaddata/loadupdatedata/auto 三種資料匯入處理型別
echo.                   loaddata: 匯入資料如果有主鍵,根據主鍵判斷如果資料存在則更新,不存在則新增,如果出現重複資料則不允許匯入報錯
echo.                   loadupdatedata: 匯入資料如果有主鍵,根據主鍵判斷如果資料存在則更新,不存在則新增,如果出現重複資料,允許匯入,但是隻匯入最後一條重複的資料
echo.                   auto: 根據表是否有主鍵來判斷,有主鍵則按loadupdatedata處理、無則按loaddata處理
set dataconfig=loaddata

echo.versionno          版本號
set versionno=v2.4.0
echo.

echo.author             建立者
set author=hdmp
echo.

echo.defaultstartvalue  序列預設初始化開始值
set defaultstartvalue=1000000
echo.

echo.dbcommand          對應liquibase執行的資料庫命令如update,generateChangeLog等
set dbcommand=generateChangeLog
echo.

echo.command            最終執行的完整命令語句,如下:
echo.

set command=java -Djava.ext.dirs=%filepath%\lib %mainclass% task=%task% method=%method% dataconfig=%dataconfig% filepath=%filepath% xmlmodules=%xmlmodules% datamodules=%datamodules% filename=%filename% username=%username% password=%password% url=%url% driverjar=%driverjar% driver=%driver% dbcommand=%dbcommand%
echo %command%
echo. 

@pause

%command%
    
echo.------------------資料庫版本初始化完成------------------
  
@pause

exit