From 859e7fc56a81223d6d5be62902eb6d06a95a35ac Mon Sep 17 00:00:00 2001 From: qi Date: Fri, 16 Aug 2019 19:38:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96countSql()=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lq/code/util/sql/AbstractDbBuiler.java | 27 +++++++------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/lq/code/util/sql/AbstractDbBuiler.java b/src/main/java/com/lq/code/util/sql/AbstractDbBuiler.java index eeded68..bdccd29 100755 --- a/src/main/java/com/lq/code/util/sql/AbstractDbBuiler.java +++ b/src/main/java/com/lq/code/util/sql/AbstractDbBuiler.java @@ -5,7 +5,8 @@ import com.lq.code.dto.QueueDto; import java.util.Set; /** - * Created by qi_liang on 2018/6/2. + * @author qi + * Sql 生成构造器. */ public abstract class AbstractDbBuiler { @@ -42,26 +43,16 @@ public abstract class AbstractDbBuiler { * @return */ public String countSql(String sql){ - StringBuffer sb=new StringBuffer("select count(*) from ( "); - sql=sql.toLowerCase(); - - if (sql.lastIndexOf("order")>sql.lastIndexOf(")")){ - sb.append(sql.substring(sql.indexOf("from")+4,sql.lastIndexOf("order"))); - + StringBuffer sb=new StringBuffer("SELECT COUNT(*) FROM "); + //SQL 转成大写适 + String upperCaseSql = sql.toUpperCase(); + //统计SQL排除排序SQL代码 + if (sql.lastIndexOf(SqlConstant.ORDER_SQL)>sql.lastIndexOf(")")){ + sb.append(sql.substring(upperCaseSql.indexOf(SqlConstant.FROM_SQL)+SqlConstant.FROM_SQL.length(),upperCaseSql.lastIndexOf(SqlConstant.ORDER_SQL))); }else{ - sb.append(sql.substring(sql.indexOf("from")+4)); + sb.append(sql.substring(upperCaseSql.indexOf(SqlConstant.FROM_SQL)+SqlConstant.FROM_SQL.length())); } - sb.append(")"); return sb.toString(); } - - - - - - - - - }