替换文件
This commit is contained in:
@@ -435,69 +435,69 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
|
|
||||||
if (matcher.find()) {
|
if (matcher.find()) {
|
||||||
|
|
||||||
String tableName = matcher.group(1);
|
String tableName = matcher.group(1);
|
||||||
|
|
||||||
List<List<String>> answerList= new ArrayList<>();
|
List<List<String>> answerList= new ArrayList<>();
|
||||||
List<List<String>> answerListStu = new ArrayList<>();
|
List<List<String>> answerListStu = new ArrayList<>();
|
||||||
try (Connection connanswer = DriverManager.getConnection(newDbUrl, user, password);
|
try (Connection connanswer = DriverManager.getConnection(newDbUrl, user, password);
|
||||||
Statement stmtan = connanswer.createStatement()) {
|
Statement stmtan = connanswer.createStatement()) {
|
||||||
try (ResultSet answer = stmtan.executeQuery(selectSql)) {
|
try (ResultSet answer = stmtan.executeQuery(selectSql)) {
|
||||||
answerList = getAnswerList(answer);
|
answerList = getAnswerList(answer);
|
||||||
// appendToFile(answerLogPath, "查找语句标准答案");
|
// appendToFile(answerLogPath, "查找语句标准答案");
|
||||||
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "查找语句标准答案");
|
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "查找语句标准答案");
|
||||||
// printResult(answerList,judgementStr);
|
// printResult(answerList,judgementStr);
|
||||||
}catch (SQLException e) {
|
}catch (SQLException e) {
|
||||||
// appendToFile(answerLogPath, "答案表执行验证语句"+selectSql+"时发生错误: " + e.getMessage());
|
// appendToFile(answerLogPath, "答案表执行验证语句"+selectSql+"时发生错误: " + e.getMessage());
|
||||||
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "答案表执行验证语句"+selectSql+"时发生错误: " + e.getMessage());
|
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "答案表执行验证语句"+selectSql+"时发生错误: " + e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
|
||||||
}
|
|
||||||
String stuSql =null;
|
|
||||||
try (Connection connstu = DriverManager.getConnection(stuDbUrl, user, password);
|
|
||||||
Statement stmtstu = connstu.createStatement()) {
|
|
||||||
try (ResultSet answer = stmtstu.executeQuery(selectSql)) {
|
|
||||||
answerListStu = getAnswerList(answer);
|
|
||||||
//还原 sql
|
|
||||||
ResultSetMetaData meta = answer.getMetaData();
|
|
||||||
List<String> columns = new ArrayList<>();
|
|
||||||
for (int i = 1; i <= meta.getColumnCount(); i++) {
|
|
||||||
columns.add(meta.getColumnLabel(i));
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
String stuSql =null;
|
||||||
|
try (Connection connstu = DriverManager.getConnection(stuDbUrl, user, password);
|
||||||
|
Statement stmtstu = connstu.createStatement()) {
|
||||||
|
try (ResultSet answer = stmtstu.executeQuery(selectSql)) {
|
||||||
|
answerListStu = getAnswerList(answer);
|
||||||
|
//还原 sql
|
||||||
|
ResultSetMetaData meta = answer.getMetaData();
|
||||||
|
List<String> columns = new ArrayList<>();
|
||||||
|
for (int i = 1; i <= meta.getColumnCount(); i++) {
|
||||||
|
columns.add(meta.getColumnLabel(i));
|
||||||
|
}
|
||||||
|
|
||||||
stuSql = restoreUpdateFromResult(sql, columns, answerListStu);
|
stuSql = restoreUpdateFromResult(sql, columns, answerListStu);
|
||||||
// appendToFile(answerLogPath, "还原学生 UPDATE 语句:" + stuSql);
|
// appendToFile(answerLogPath, "还原学生 UPDATE 语句:" + stuSql);
|
||||||
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "还原学生 UPDATE 语句:" + stuSql);
|
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "还原学生 UPDATE 语句:" + stuSql);
|
||||||
// appendToFile(answerLogPath, "学生语句答案:");
|
// appendToFile(answerLogPath, "学生语句答案:");
|
||||||
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "学生语句答案:");
|
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "学生语句答案:");
|
||||||
// printResult(answerListStu,judgementStr);
|
// printResult(answerListStu,judgementStr);
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
// appendToFile(answerLogPath, "学生表执行验证语句"+selectSql+"时发生错误:" + e.getMessage());
|
// appendToFile(answerLogPath, "学生表执行验证语句"+selectSql+"时发生错误:" + e.getMessage());
|
||||||
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "学生表执行验证语句"+selectSql+"时发生错误: " + e.getMessage());
|
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "学生表执行验证语句"+selectSql+"时发生错误: " + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
boolean isEquivalent =false;
|
||||||
|
|
||||||
|
if (answerListStu!=null&&answerListStu.size()>0){
|
||||||
|
isEquivalent = compareResultsSelect(answerList, answerListStu);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (isEquivalent) {
|
||||||
|
appendToFile(answerLogPath, "【执行】 "+"【"+selectSql+"】【验证】【表】【"+tableName+"】【✅】");
|
||||||
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 "+"【"+selectSql+"】【验证】【表】【"+tableName+"】【✅】");
|
||||||
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList,total,answerLogPath,stuSql,totalKeyScore,score,answerId,scoreTotal,judgementStr);
|
||||||
|
scoreTotal += studentScorePojo.getScore();
|
||||||
|
judgementStr = studentScorePojo.getText();
|
||||||
|
|
||||||
}
|
} else {
|
||||||
boolean isEquivalent =false;
|
appendToFile(answerLogPath, "【执行】 "+"【"+selectSql+"】【验证】【表】【"+tableName+"】【❌】");
|
||||||
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 "+"【"+selectSql+"】【验证】【表】【"+tableName+"】【❌】");
|
||||||
|
SourceAndText studentScorePojo= calculateTotalScoreRate(stuSql, examMysqlKeywordList,totalKeyScore,score,answerId,scoreTotal,judgementStr);
|
||||||
|
scoreTotal += studentScorePojo.getScore();
|
||||||
|
judgementStr = studentScorePojo.getText();
|
||||||
|
|
||||||
if (answerListStu!=null&&answerListStu.size()>0){
|
}
|
||||||
isEquivalent = compareResultsSelect(answerList, answerListStu);
|
|
||||||
}
|
|
||||||
//
|
|
||||||
if (isEquivalent) {
|
|
||||||
appendToFile(answerLogPath, "【执行】 "+"【"+selectSql+"】【验证】【表】【"+tableName+"】【✅】");
|
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 "+"【"+selectSql+"】【验证】【表】【"+tableName+"】【✅】");
|
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList,total,answerLogPath,stuSql,totalKeyScore,score,answerId,scoreTotal,judgementStr);
|
|
||||||
scoreTotal += studentScorePojo.getScore();
|
|
||||||
judgementStr = studentScorePojo.getText();
|
|
||||||
|
|
||||||
} else {
|
|
||||||
appendToFile(answerLogPath, "【执行】 "+"【"+selectSql+"】【验证】【表】【"+tableName+"】【❌】");
|
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 "+"【"+selectSql+"】【验证】【表】【"+tableName+"】【❌】");
|
|
||||||
SourceAndText studentScorePojo= calculateTotalScoreRate(stuSql, examMysqlKeywordList,totalKeyScore,score,answerId,scoreTotal,judgementStr);
|
|
||||||
scoreTotal += studentScorePojo.getScore();
|
|
||||||
judgementStr = studentScorePojo.getText();
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (sql.trim().toUpperCase().startsWith("SELECT")) {
|
if (sql.trim().toUpperCase().startsWith("SELECT")) {
|
||||||
@@ -1026,22 +1026,22 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
||||||
if (answerListStu.size() >= 2) {
|
if (answerListStu.size() >= 2) {
|
||||||
List<String> fieldMeta = answerListStu.get(0);
|
List<String> fieldMeta = answerListStu.get(0);
|
||||||
List<String> fieldValue = answerListStu.get(1);
|
List<String> fieldValue = answerListStu.get(1);
|
||||||
|
|
||||||
Map<String, String> columnInfo = new HashMap<>();
|
Map<String, String> columnInfo = new HashMap<>();
|
||||||
for (int i = 0; i < fieldMeta.size() && i < fieldValue.size(); i++) {
|
for (int i = 0; i < fieldMeta.size() && i < fieldValue.size(); i++) {
|
||||||
columnInfo.put(fieldMeta.get(i), fieldValue.get(i));
|
columnInfo.put(fieldMeta.get(i), fieldValue.get(i));
|
||||||
}
|
|
||||||
|
|
||||||
String alterSQL = buildAlterFromShowColumn(tableName, columnInfo);
|
|
||||||
appendToFile(answerLogPath, "【执行】 "+"【"+selectSql+"】 【验证】 【表】 【"+tableName+"】【❌】");
|
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(alterSQL, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
|
||||||
scoreTotal += studentScorePojo.getScore();
|
|
||||||
judgementStr = studentScorePojo.getText();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String alterSQL = buildAlterFromShowColumn(tableName, columnInfo);
|
||||||
|
appendToFile(answerLogPath, "【执行】 "+"【"+selectSql+"】 【验证】 【表】 【"+tableName+"】【❌】");
|
||||||
|
SourceAndText studentScorePojo = calculateTotalScoreRate(alterSQL, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
|
scoreTotal += studentScorePojo.getScore();
|
||||||
|
judgementStr = studentScorePojo.getText();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user