提交 01e2c251 authored 作者: zhangshuang's avatar zhangshuang

zs

上级 131d9445
...@@ -152,6 +152,11 @@ ...@@ -152,6 +152,11 @@
<version>RELEASE</version> <version>RELEASE</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -11,5 +11,5 @@ import java.util.List; ...@@ -11,5 +11,5 @@ import java.util.List;
@Data @Data
public class DBNameReturn { public class DBNameReturn {
List<String> dbName; List<String> dbName;
Integer status;//连接状态1-连接0-未连接 Integer status;//连接状态1-开启 0-关闭
} }
...@@ -157,8 +157,12 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -157,8 +157,12 @@ public class DBMigrateServiceImpl implements DBMigrateService {
createTableSql += create; createTableSql += create;
} }
} }
preparedStatement1 = connection1.prepareStatement(createTableSql); try {
preparedStatement1.execute(); preparedStatement1 = connection1.prepareStatement(createTableSql);
preparedStatement1.execute();
}catch (Exception e){
return ServerResponse.error("创建表出错");
}
//数据插入 //数据插入
if(insertList != null && insertList.size() != 0){ if(insertList != null && insertList.size() != 0){
for(String insert:insertList){ for(String insert:insertList){
...@@ -193,8 +197,12 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -193,8 +197,12 @@ public class DBMigrateServiceImpl implements DBMigrateService {
elseSql += elseChar; elseSql += elseChar;
} }
} }
preparedStatement1 = connection1.prepareStatement(elseSql); try {
preparedStatement1.execute(); preparedStatement1 = connection1.prepareStatement(elseSql);
preparedStatement1.execute();
}catch (Exception e){
return ServerResponse.error("执行新建索引和外键的sql语句出错");
}
System.out.println("sql执行时间为:" + (System.currentTimeMillis() - b)); System.out.println("sql执行时间为:" + (System.currentTimeMillis() - b));
log.info(databaseResponse.getSqlPath() + "执行完成"); log.info(databaseResponse.getSqlPath() + "执行完成");
} catch (Exception e) { } catch (Exception e) {
...@@ -211,7 +219,7 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -211,7 +219,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
} }
} }
}else { }else {
return ServerResponse.error("创建数据库时连接数据库失败"); return ServerResponse.error("创建数据库时连接数据库失败");
} }
} }
//保存迁移记录到数据库 //保存迁移记录到数据库
...@@ -254,9 +262,10 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -254,9 +262,10 @@ public class DBMigrateServiceImpl implements DBMigrateService {
databaseManagement.setDatabaseName(highgoDBName); databaseManagement.setDatabaseName(highgoDBName);
databaseManagement.setDriver(highgoDriver); databaseManagement.setDriver(highgoDriver);
databaseManagement.setConnectionType(highgoConnnectionType); databaseManagement.setConnectionType(highgoConnnectionType);
//获取数据库连接
Connection connection = Regular.databaseConnection(databaseManagement); Connection connection = Regular.databaseConnection(databaseManagement);
if (connection != null) { if (connection != null) {
dbNameReturn.setStatus(1); dbNameReturn.setStatus(1);//1-库为开启状态
PreparedStatement preparedStatement = null; PreparedStatement preparedStatement = null;
try { try {
String findDB = "select p.datname from pg_database p where p.datistemplate = false;"; String findDB = "select p.datname from pg_database p where p.datistemplate = false;";
...@@ -277,7 +286,7 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -277,7 +286,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
} }
} }
}else { }else {
dbNameReturn.setStatus(0);//未连接 dbNameReturn.setStatus(0);//关闭
} }
} }
dbNameReturn.setDbName(dbNameList); dbNameReturn.setDbName(dbNameList);
......
...@@ -41,6 +41,7 @@ public class Const { ...@@ -41,6 +41,7 @@ public class Const {
public static Map<String,Long> transferCountMap = new ConcurrentHashMap<>(); public static Map<String,Long> transferCountMap = new ConcurrentHashMap<>();
public static final String MAVENHOME = "/opt/apache-maven-3.5.4"; public static final String MAVENHOME = "/opt/apache-maven-3.5.4";
public static final String CTLPATH = "/home/taiyuan/桌面/AAS-V9.0/bin/appctl"; //public static final String CTLPATH = "/home/taiyuan/桌面/AAS-V9.0/bin/appctl";
public static final String CTLPATH = "/home/user/AAS-V9.0/bin/appctl.cmd";
public static final String CTLPWD = "Qwert123!@#"; public static final String CTLPWD = "Qwert123!@#";
} }
...@@ -41,7 +41,7 @@ public class ApusicDeployer { ...@@ -41,7 +41,7 @@ public class ApusicDeployer {
boolean titleEnd = false; boolean titleEnd = false;
String line = null; String line = null;
while ((line = reader.readLine()) != null) { while ((line = reader.readLine()) != null) {
System.out.println(line); //System.out.println(line);
if(line.contains("---------------")){ if(line.contains("---------------")){
titleEnd = true; titleEnd = true;
continue; continue;
...@@ -74,6 +74,7 @@ public class ApusicDeployer { ...@@ -74,6 +74,7 @@ public class ApusicDeployer {
} }
private void appctl(String command,String webSocketName,String projectName){ private void appctl(String command,String webSocketName,String projectName){
try { try {
System.out.println(command);
Process exec = Runtime.getRuntime().exec(command); Process exec = Runtime.getRuntime().exec(command);
String password = Const.CTLPWD; String password = Const.CTLPWD;
OutputStream outputStream = exec.getOutputStream(); OutputStream outputStream = exec.getOutputStream();
......
...@@ -7,10 +7,22 @@ import java.sql.Connection; ...@@ -7,10 +7,22 @@ import java.sql.Connection;
import java.sql.DriverManager; import java.sql.DriverManager;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
public class Regular { public class Regular {
private static HashMap<String,String> insertRule = new HashMap<>();
private static String[] insertKeys;
private static String[] insertValues;
private static HashMap<String,String> elseRule = new HashMap<>();
/** /**
* 将mysql导出的.sql文件转为highgo可以识别的.sql文件 * 将mysql导出的.sql文件转为highgo可以识别的.sql文件
* @param path sql文件地址 * @param path sql文件地址
...@@ -43,17 +55,12 @@ public class Regular { ...@@ -43,17 +55,12 @@ public class Regular {
String createTableSql = ""; String createTableSql = "";
boolean createLock = true; boolean createLock = true;
boolean executeOne = true; boolean executeOne = true;
setInsertRuleMap();//insert的替换规则
while ((s = bufferedReader.readLine()) != null){ while ((s = bufferedReader.readLine()) != null){
s = s.replaceAll("`","\""); s = s.replaceAll("`","\"");
s += "\r\n"; s += "\r\n";
if(lowerAndUpper(s,"INSERT") && lowerAndUpper(s,"INTO")){ if(lowerAndUpper(s,"INSERT") && lowerAndUpper(s,"INTO")){
//将\0与\1替换为true或false s = StringUtils.replaceEach(s, insertKeys, insertValues);
s = s.replace("'\\0'","'false'");
s = s.replace("'\\1'","'true'");
s = s.replaceAll("'0000-00-00 00:00:00'","null");
s = s.replace("\\\\","\\");//转义\
s = s.replace("\\\"","\"");//转义"
s = s.replace("\\'","''");//转义'
bufferedWriter.write(s); bufferedWriter.write(s);
continue; continue;
} }
...@@ -212,6 +219,27 @@ public class Regular { ...@@ -212,6 +219,27 @@ public class Regular {
return savePath; return savePath;
} }
/**
* insert的替换规则
*/
public static void setInsertRuleMap(){
//将\0与\1替换为true或false
insertRule.put("'\\0'","'false'");
insertRule.put("'\\1'","'true'");
insertRule.put("'0000-00-00 00:00:00'","null");
insertRule.put("\\\\","\\");
insertRule.put("\\\"","\"");
insertRule.put("\\'","''");
int i = 0;
insertKeys = new String[insertRule.size()];
insertValues = new String[insertRule.size()];
for(Map.Entry<String,String> stringMap:insertRule.entrySet()){
insertKeys[i] = stringMap.getKey();
insertValues[i] = stringMap.getValue();
i++;
}
}
/** /**
* 判断大写和小写 * 判断大写和小写
*/ */
...@@ -287,8 +315,7 @@ public class Regular { ...@@ -287,8 +315,7 @@ public class Regular {
return null; return null;
} }
public static void main(String[] args) { public static void main(String[] args) {
mySqlRegular("C:\\Users\\admin\\Desktop\\database\\three.sql","three"); mySqlRegular("C:\\Users\\admin\\Desktop\\database\\test10.sql","bserver");
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论