From 59822b1826be6a2bf7743f63c734d6bcf1b0d0b9 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 31 十月 2019 00:07:39 +0800
Subject: [PATCH] 优化脚本
---
java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java b/java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java
index 7cadaaf..a17b616 100644
--- a/java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java
+++ b/java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java
@@ -249,9 +249,9 @@
String currentSql = sqlObj.getString(dataQuery.getTemplateKey());
//澶勭悊 if 鍒ゆ柇
- logger.debug("dealSqlIf寮�濮嬪鐞唖ql涓殑<if>鑺傜偣", currentSql);
+ logger.debug("dealSqlIf寮�濮嬪鐞唖ql涓殑<if>鑺傜偣 " + currentSql + " 鍏ュ弬:" + params.toJSONString());
currentSql = dealSqlIf(currentSql, params);
- logger.debug("dealSqlIf澶勭悊瀹屾垚sql涓殑<if>鑺傜偣", currentSql);
+ logger.debug("dealSqlIf澶勭悊瀹屾垚sql涓殑<if>鑺傜偣 " + currentSql + " 鍏ュ弬:" + params.toJSONString());
String[] sqls = currentSql.split("#");
@@ -284,7 +284,7 @@
param = params.getInteger(sqls[sqlIndex]);
}
//杩欓噷瀵� page 鍜� rows 鐗规畩澶勭悊 锛岀洰鍓嶆病鏈夋兂鍒板叾浠栫殑鍔炴硶
- if (StringUtils.isNumeric(param.toString()) && "page,rows".contains(sqls[sqlIndex])) {
+ if (StringUtils.isNumeric(param.toString()) && "page,rows,row".contains(sqls[sqlIndex])) {
param = Integer.parseInt(param.toString());
}
currentParams.add(param);
@@ -343,6 +343,11 @@
String[] oSqls = oldSql.split("</if>");
for (String oSql : oSqls) {
+ logger.debug("澶勭悊if 鑺傜偣锛屽綋鍓嶅鐞嗙殑oSql=" + oSql + "鎬荤殑oSqls = " + oSqls);
+ if(StringUtil.isNullOrNone(oSql) || !oSql.contains("<if")){
+ newSql.append(oSql);
+ continue;
+ }
if (!oSql.startsWith("<if")) {
newSql.append(oSql.substring(0, oSql.indexOf("<if")));
}
@@ -368,11 +373,10 @@
}
-
}
- return newSql.toString();
+ return newSql.toString().replace(">", ">").replace("<", "<");
}
--
Gitblit v1.8.0