日志优化
This commit is contained in:
Binary file not shown.
@@ -56,12 +56,14 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
@SuppressWarnings("DuplicatedCode")
|
||||
@Override
|
||||
public boolean modelExampleClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
|
||||
PrimitiveTypeWrapper integerWrapper = FullyQualifiedJavaType.getIntInstance().getPrimitiveTypeWrapper();
|
||||
FullyQualifiedJavaType integerType = new FullyQualifiedJavaType("java.lang.Integer");
|
||||
FullyQualifiedJavaType booleanType = new FullyQualifiedJavaType("java.lang.Boolean");
|
||||
FullyQualifiedJavaType stringType = new FullyQualifiedJavaType("java.lang.String");
|
||||
// 添加 startPageNum、maxPageSize、ignorePageSize 字段
|
||||
Field maxPageSizeField = ElementTools.generateField(
|
||||
"maxPageSize",
|
||||
JavaVisibility.PROTECTED,
|
||||
integerWrapper,
|
||||
integerType,
|
||||
this.maxPageSize + ""
|
||||
);
|
||||
topLevelClass.addField(maxPageSizeField);
|
||||
@@ -69,7 +71,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
Field ignorePageSizeField = ElementTools.generateField(
|
||||
"ignorePageSize",
|
||||
JavaVisibility.PROTECTED,
|
||||
integerWrapper,
|
||||
integerType,
|
||||
this.ignorePageSize + ""
|
||||
);
|
||||
topLevelClass.addField(ignorePageSizeField);
|
||||
@@ -77,7 +79,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
Field startPageNumField = ElementTools.generateField(
|
||||
"startPageNum",
|
||||
JavaVisibility.PROTECTED,
|
||||
integerWrapper,
|
||||
integerType,
|
||||
startPageNum + ""
|
||||
);
|
||||
topLevelClass.addField(startPageNumField);
|
||||
@@ -86,7 +88,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
Field offsetField = ElementTools.generateField(
|
||||
"offset",
|
||||
JavaVisibility.PROTECTED,
|
||||
integerWrapper,
|
||||
integerType,
|
||||
"null"
|
||||
);
|
||||
topLevelClass.addField(offsetField);
|
||||
@@ -94,7 +96,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
Field rowsField = ElementTools.generateField(
|
||||
"rows",
|
||||
JavaVisibility.PROTECTED,
|
||||
integerWrapper,
|
||||
integerType,
|
||||
"null"
|
||||
);
|
||||
topLevelClass.addField(rowsField);
|
||||
@@ -105,7 +107,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
Field withBLOBsField = ElementTools.generateField(
|
||||
"withBLOBs",
|
||||
JavaVisibility.PROTECTED,
|
||||
new FullyQualifiedJavaType("java.lang.Boolean"),
|
||||
booleanType,
|
||||
"true"
|
||||
);
|
||||
topLevelClass.addField(withBLOBsField);
|
||||
@@ -142,7 +144,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
"limit",
|
||||
JavaVisibility.PUBLIC,
|
||||
topLevelClass.getType(),
|
||||
new Parameter(integerWrapper, "rows")
|
||||
new Parameter(integerType, "rows")
|
||||
);
|
||||
setLimitByRows = ElementTools.generateMethodBody(
|
||||
setLimitByRows,
|
||||
@@ -156,8 +158,8 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
"limit",
|
||||
JavaVisibility.PUBLIC,
|
||||
topLevelClass.getType(),
|
||||
new Parameter(integerWrapper, "offset"),
|
||||
new Parameter(integerWrapper, "rows")
|
||||
new Parameter(integerType, "offset"),
|
||||
new Parameter(integerType, "rows")
|
||||
);
|
||||
setLimitByOffsetRows = ElementTools.generateMethodBody(
|
||||
setLimitByOffsetRows,
|
||||
@@ -171,8 +173,8 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
"usePage",
|
||||
JavaVisibility.PUBLIC,
|
||||
topLevelClass.getType(),
|
||||
new Parameter(integerWrapper, "pageNum"),
|
||||
new Parameter(integerWrapper, "pageSize")
|
||||
new Parameter(integerType, "pageNum"),
|
||||
new Parameter(integerType, "pageSize")
|
||||
);
|
||||
usePage = ElementTools.generateMethodBody(
|
||||
usePage,
|
||||
@@ -194,7 +196,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
Method getPageNum = ElementTools.generateMethod(
|
||||
"getPageNum",
|
||||
JavaVisibility.PUBLIC,
|
||||
integerWrapper
|
||||
integerType
|
||||
);
|
||||
getPageNum = ElementTools.generateMethodBody(
|
||||
getPageNum,
|
||||
@@ -208,7 +210,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
Method getPageSize = ElementTools.generateMethod(
|
||||
"getPageSize",
|
||||
JavaVisibility.PUBLIC,
|
||||
integerWrapper
|
||||
integerType
|
||||
);
|
||||
getPageSize = ElementTools.generateMethodBody(
|
||||
getPageSize,
|
||||
@@ -222,7 +224,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
Method getRows = ElementTools.generateMethod(
|
||||
"getRows",
|
||||
JavaVisibility.PUBLIC,
|
||||
integerWrapper
|
||||
integerType
|
||||
);
|
||||
getRows = ElementTools.generateMethodBody(
|
||||
getRows,
|
||||
@@ -233,7 +235,7 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
Method getOffset = ElementTools.generateMethod(
|
||||
"getOffset",
|
||||
JavaVisibility.PUBLIC,
|
||||
integerWrapper
|
||||
integerType
|
||||
);
|
||||
getOffset = ElementTools.generateMethodBody(
|
||||
getOffset,
|
||||
@@ -241,14 +243,65 @@ public class TapeMybatisGeneratorPlugin extends PluginAdapter {
|
||||
);
|
||||
FormatTools.addMethodWithBestPosition(topLevelClass, getOffset);
|
||||
|
||||
Method getWhereString = ElementTools.generateMethod(
|
||||
"getWhereString",
|
||||
JavaVisibility.PUBLIC,
|
||||
stringType
|
||||
);
|
||||
getWhereString.addAnnotation("@SuppressWarnings(\"DuplicatedCode\")");
|
||||
getWhereString = ElementTools.generateMethodBody(
|
||||
getWhereString,
|
||||
"if (getOredCriteria() != null) {",
|
||||
"List<String> whereGroup = new ArrayList<>();",
|
||||
"for (Criteria criteria : getOredCriteria()) {",
|
||||
"List<String> criterionList = new ArrayList<>();",
|
||||
"for (Criterion criterion : criteria.getAllCriteria()) {",
|
||||
"if (criterion.isNoValue()) {",
|
||||
"criterionList.add(criterion.getCondition());",
|
||||
"} else if (criterion.isBetweenValue()) {",
|
||||
"criterionList.add(criterion.getCondition() + \" \" + criterion.getValue() + \",\" + criterion.getSecondValue());",
|
||||
"} else {",
|
||||
"criterionList.add(criterion.getCondition() + \" \" + criterion.getValue());",
|
||||
"}",
|
||||
"}",
|
||||
"whereGroup.add(String.join(\" and \", criterionList));",
|
||||
"}",
|
||||
"if (whereGroup.size() > 1) {",
|
||||
"List<String> mapWhereGroup = new ArrayList<>();",
|
||||
"for (String where : whereGroup) {",
|
||||
"mapWhereGroup.add(\"(\" + where + \")\");",
|
||||
"}",
|
||||
"whereGroup = mapWhereGroup;",
|
||||
"}",
|
||||
"return String.join(\" or \", whereGroup);",
|
||||
"}",
|
||||
"return null;"
|
||||
);
|
||||
FormatTools.addMethodWithBestPosition(topLevelClass, getWhereString);
|
||||
|
||||
// !!! clear 方法增加 offset 和 rows的清理
|
||||
boolean hasClear = false;
|
||||
List<Method> methodList = topLevelClass.getMethods();
|
||||
for (Method method : methodList) {
|
||||
if (method.getName().equals("clear")) {
|
||||
method.addBodyLine("rows = null;");
|
||||
method.addBodyLine("offset = null;");
|
||||
hasClear = true;
|
||||
}
|
||||
}
|
||||
if (!hasClear) {
|
||||
Method clear = ElementTools.generateMethod(
|
||||
"clear",
|
||||
JavaVisibility.PUBLIC,
|
||||
new FullyQualifiedJavaType("void")
|
||||
);
|
||||
clear = ElementTools.generateMethodBody(
|
||||
clear,
|
||||
"rows = null;",
|
||||
"offset = null;"
|
||||
);
|
||||
FormatTools.addMethodWithBestPosition(topLevelClass, clear);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -832,9 +832,16 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter {
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("long findPrimaryKeyTime = new Date().getTime() - startTime;");
|
||||
method.addBodyLine("if (findPrimaryKeyTime > " + slowQueryLoggerTime + ") {");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " valid list primary key use long time: \" + findPrimaryKeyTime + \"ms\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> criteria: \" + example.getOredCriteria() +");
|
||||
method.addBodyLine(" \"\\n\\t|-> order by: \" + example.getOrderByClause() +");
|
||||
method.addBodyLine("String exampleString = \"\";");
|
||||
method.addBodyLine("if (example.getWhereString() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> where: \" + example.getWhereString();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("if (example.getOrderByClause() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> order by: \" + example.getOrderByClause();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " valid list primary key use long time\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> time:\" + findPrimaryKeyTime + \"ms\" +");
|
||||
method.addBodyLine(" exampleString +");
|
||||
method.addBodyLine(" \"\\n\\t|-----------------------------------\"");
|
||||
method.addBodyLine(");");
|
||||
method.addBodyLine("}");
|
||||
@@ -857,9 +864,16 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter {
|
||||
}
|
||||
method.addBodyLine("long useTime = new Date().getTime() - startTime;");
|
||||
method.addBodyLine("if (useTime > " + slowQueryLoggerTime + ") {");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " valid list use long time: \" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> criteria: \" + example.getOredCriteria() +");
|
||||
method.addBodyLine(" \"\\n\\t|-> order by: \" + example.getOrderByClause() +");
|
||||
method.addBodyLine("String exampleString = \"\";");
|
||||
method.addBodyLine("if (example.getWhereString() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> where: \" + example.getWhereString();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("if (example.getOrderByClause() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> order by: \" + example.getOrderByClause();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " valid list use long time\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> time:\" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" exampleString +");
|
||||
method.addBodyLine(" \"\\n\\t|-----------------------------------\"");
|
||||
method.addBodyLine(");");
|
||||
method.addBodyLine("}");
|
||||
@@ -889,9 +903,16 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter {
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("long findPrimaryKeyTime = new Date().getTime() - startTime;");
|
||||
method.addBodyLine("if (findPrimaryKeyTime > " + slowQueryLoggerTime + ") {");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " trash list primary key use long time: \" + findPrimaryKeyTime + \"ms\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> criteria: \" + example.getOredCriteria() +");
|
||||
method.addBodyLine(" \"\\n\\t|-> order by: \" + example.getOrderByClause() +");
|
||||
method.addBodyLine("String exampleString = \"\";");
|
||||
method.addBodyLine("if (example.getWhereString() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> where: \" + example.getWhereString();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("if (example.getOrderByClause() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> order by: \" + example.getOrderByClause();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " trash list primary key use long time\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> time:\" + findPrimaryKeyTime + \"ms\" +");
|
||||
method.addBodyLine(" exampleString +");
|
||||
method.addBodyLine(" \"\\n\\t|-----------------------------------\"");
|
||||
method.addBodyLine(");");
|
||||
method.addBodyLine("}");
|
||||
@@ -914,9 +935,16 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter {
|
||||
}
|
||||
method.addBodyLine("long useTime = new Date().getTime() - startTime;");
|
||||
method.addBodyLine("if (useTime > " + slowQueryLoggerTime + ") {");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " trash list use long time: \" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> criteria: \" + example.getOredCriteria() +");
|
||||
method.addBodyLine(" \"\\n\\t|-> order by: \" + example.getOrderByClause() +");
|
||||
method.addBodyLine("String exampleString = \"\";");
|
||||
method.addBodyLine("if (example.getWhereString() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> where: \" + example.getWhereString();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("if (example.getOrderByClause() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> order by: \" + example.getOrderByClause();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " trash list use long time\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> time:\" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" exampleString +");
|
||||
method.addBodyLine(" \"\\n\\t|-----------------------------------\"");
|
||||
method.addBodyLine(");");
|
||||
method.addBodyLine("}");
|
||||
@@ -939,9 +967,16 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter {
|
||||
method.addBodyLine("long count = " + mapperFieldName + ".countByExample(example);");
|
||||
method.addBodyLine("long useTime = new Date().getTime() - startTime;");
|
||||
method.addBodyLine("if (useTime > " + slowQueryLoggerTime + ") {");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " valid count use long time: \" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> criteria: \" + example.getOredCriteria() +");
|
||||
method.addBodyLine(" \"\\n\\t|-> order by: \" + example.getOrderByClause() +");
|
||||
method.addBodyLine("String exampleString = \"\";");
|
||||
method.addBodyLine("if (example.getWhereString() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> where: \" + example.getWhereString();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("if (example.getOrderByClause() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> order by: \" + example.getOrderByClause();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " valid count use long time\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> time:\" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" exampleString +");
|
||||
method.addBodyLine(" \"\\n\\t|-----------------------------------\"");
|
||||
method.addBodyLine(");");
|
||||
method.addBodyLine("}");
|
||||
@@ -982,9 +1017,16 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter {
|
||||
method.addBodyLine("long count = " + mapperFieldName + ".countByExample(example);");
|
||||
method.addBodyLine("long useTime = new Date().getTime() - startTime;");
|
||||
method.addBodyLine("if (useTime > " + slowQueryLoggerTime + ") {");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " trash count use long time: \" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> criteria: \" + example.getOredCriteria() +");
|
||||
method.addBodyLine(" \"\\n\\t|-> order by: \" + example.getOrderByClause() +");
|
||||
method.addBodyLine("String exampleString = \"\";");
|
||||
method.addBodyLine("if (example.getWhereString() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> where: \" + example.getWhereString();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("if (example.getOrderByClause() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> order by: \" + example.getOrderByClause();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " trash count use long time\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> time:\" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" exampleString +");
|
||||
method.addBodyLine(" \"\\n\\t|-----------------------------------\"");
|
||||
method.addBodyLine(");");
|
||||
method.addBodyLine("}");
|
||||
|
||||
@@ -313,9 +313,16 @@ public class TapeRepoviewGeneratorPlugin extends PluginAdapter {
|
||||
}
|
||||
method.addBodyLine("long useTime = new Date().getTime() - startTime;");
|
||||
method.addBodyLine("if (useTime > " + slowQueryLoggerTime + ") {");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " view list use long time: \" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> criteria: \" + example.getOredCriteria() +");
|
||||
method.addBodyLine(" \"\\n\\t|-> order by: \" + example.getOrderByClause() +");
|
||||
method.addBodyLine("String exampleString = \"\";");
|
||||
method.addBodyLine("if (example.getWhereString() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> where: \" + example.getWhereString();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("if (example.getOrderByClause() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> order by: \" + example.getOrderByClause();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " view list use long time\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> time:\" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" exampleString +");
|
||||
method.addBodyLine(" \"\\n\\t|-----------------------------------\"");
|
||||
method.addBodyLine(");");
|
||||
method.addBodyLine("}");
|
||||
@@ -340,9 +347,16 @@ public class TapeRepoviewGeneratorPlugin extends PluginAdapter {
|
||||
method.addBodyLine("long count = " + mapperFieldName + ".countByExample(example);");
|
||||
method.addBodyLine("long useTime = new Date().getTime() - startTime;");
|
||||
method.addBodyLine("if (useTime > " + slowQueryLoggerTime + ") {");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " view count use long time: \" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> criteria: \" + example.getOredCriteria() +");
|
||||
method.addBodyLine(" \"\\n\\t|-> order by: \" + example.getOrderByClause() +");
|
||||
method.addBodyLine("String exampleString = \"\";");
|
||||
method.addBodyLine("if (example.getWhereString() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> where: \" + example.getWhereString();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("if (example.getOrderByClause() != null) {");
|
||||
method.addBodyLine("exampleString += \"\\n\\t|-> order by: \" + example.getOrderByClause();");
|
||||
method.addBodyLine("}");
|
||||
method.addBodyLine("LOGGER." + slowQueryLoggerLevel + "(\"Select " + modelClassName + " view count use long time\" +");
|
||||
method.addBodyLine(" \"\\n\\t|-> time:\" + useTime + \"ms\" +");
|
||||
method.addBodyLine(" exampleString +");
|
||||
method.addBodyLine(" \"\\n\\t|-----------------------------------\"");
|
||||
method.addBodyLine(");");
|
||||
method.addBodyLine("}");
|
||||
|
||||
Reference in New Issue
Block a user