Browse Source

page 重构完美执行

hubin 7 years ago
parent
commit
bcbf21d01e

+ 41 - 42
mybatis-plus-adapter/src/main/java/com/baomidou/mybatisplus/mapper/EntityWrapper.java

@@ -1,7 +1,5 @@
 package com.baomidou.mybatisplus.mapper;
 
-import com.baomidou.mybatisplus.core.metadata.Column;
-import com.baomidou.mybatisplus.core.metadata.Columns;
 import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.sql.SqlUtils;
@@ -49,6 +47,7 @@ public class EntityWrapper<T> extends Wrapper<T> {
         return StringUtils.isEmpty(sqlSelect) ? null : SqlUtils.stripSqlInjection(sqlSelect);
     }
 
+    @Override
     public Wrapper<T> setSqlSelect(String sqlSelect) {
         if (StringUtils.isNotEmpty(sqlSelect)) {
             this.sqlSelect = sqlSelect;
@@ -65,19 +64,19 @@ public class EntityWrapper<T> extends Wrapper<T> {
      * @param columns 字段
      * @return
      */
-    public Wrapper<T> setSqlSelect(String... columns) {
-        StringBuilder builder = new StringBuilder();
-        for (String column : columns) {
-            if (StringUtils.isNotEmpty(column)) {
-                if (builder.length() > 0) {
-                    builder.append(",");
-                }
-                builder.append(column);
-            }
-        }
-        this.sqlSelect = builder.toString();
-        return this;
-    }
+//    public Wrapper<T> setSqlSelect(String... columns) {
+//        StringBuilder builder = new StringBuilder();
+//        for (String column : columns) {
+//            if (StringUtils.isNotEmpty(column)) {
+//                if (builder.length() > 0) {
+//                    builder.append(",");
+//                }
+//                builder.append(column);
+//            }
+//        }
+//        this.sqlSelect = builder.toString();
+//        return this;
+//    }
 
     /**
      * <p>
@@ -87,26 +86,26 @@ public class EntityWrapper<T> extends Wrapper<T> {
      * @param column 字段
      * @return
      */
-    public Wrapper<T> setSqlSelect(Column... column) {
-        if (ArrayUtils.isNotEmpty(column)) {
-            StringBuilder builder = new StringBuilder();
-            for (int i = 0; i < column.length; i++) {
-                if (column[i] != null) {
-                    String col = column[i].getColumn();
-                    String as = column[i].getAs();
-                    if (StringUtils.isEmpty(col)) {
-                        continue;
-                    }
-                    builder.append(col).append(as);
-                    if (i < column.length - 1) {
-                        builder.append(",");
-                    }
-                }
-            }
-            this.sqlSelect = builder.toString();
-        }
-        return this;
-    }
+//    public Wrapper<T> setSqlSelect(Column... column) {
+//        if (ArrayUtils.isNotEmpty(column)) {
+//            StringBuilder builder = new StringBuilder();
+//            for (int i = 0; i < column.length; i++) {
+//                if (column[i] != null) {
+//                    String col = column[i].getColumn();
+//                    String as = column[i].getAs();
+//                    if (StringUtils.isEmpty(col)) {
+//                        continue;
+//                    }
+//                    builder.append(col).append(as);
+//                    if (i < column.length - 1) {
+//                        builder.append(",");
+//                    }
+//                }
+//            }
+//            this.sqlSelect = builder.toString();
+//        }
+//        return this;
+//    }
 
     /**
      * <p>
@@ -116,13 +115,13 @@ public class EntityWrapper<T> extends Wrapper<T> {
      * @param columns 字段
      * @return
      */
-    public Wrapper<T> setSqlSelect(Columns columns) {
-        Column[] columnArray = columns.getColumns();
-        if (ArrayUtils.isNotEmpty(columnArray)) {
-            setSqlSelect(columnArray);
-        }
-        return this;
-    }
+//    public Wrapper<T> setSqlSelect(Columns columns) {
+//        Column[] columnArray = columns.getColumns();
+//        if (ArrayUtils.isNotEmpty(columnArray)) {
+//            setSqlSelect(columnArray);
+//        }
+//        return this;
+//    }
 
     /**
      * SQL 片段

+ 27 - 29
mybatis-plus-adapter/src/main/java/com/baomidou/mybatisplus/mapper/Wrapper.java

@@ -25,8 +25,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 import com.baomidou.mybatisplus.core.conditions.SqlPlus;
 import com.baomidou.mybatisplus.core.enums.SqlLike;
 import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
-import com.baomidou.mybatisplus.core.metadata.Column;
-import com.baomidou.mybatisplus.core.metadata.Columns;
 import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.MapUtils;
@@ -153,26 +151,26 @@ public class Wrapper<T> extends com.baomidou.mybatisplus.core.conditions.Wrapper
      * @param column 字段
      * @return
      */
-    public Wrapper<T> setSqlSelect(Column... column) {
-        if (ArrayUtils.isNotEmpty(column)) {
-            StringBuilder builder = new StringBuilder();
-            for (int i = 0; i < column.length; i++) {
-                if (column[i] != null) {
-                    String col = column[i].getColumn();
-                    String as = column[i].getAs();
-                    if (StringUtils.isEmpty(col)) {
-                        continue;
-                    }
-                    builder.append(col).append(as);
-                    if (i < column.length - 1) {
-                        builder.append(",");
-                    }
-                }
-            }
-            this.sqlSelect = builder.toString();
-        }
-        return this;
-    }
+//    public Wrapper<T> setSqlSelect(Column... column) {
+//        if (ArrayUtils.isNotEmpty(column)) {
+//            StringBuilder builder = new StringBuilder();
+//            for (int i = 0; i < column.length; i++) {
+//                if (column[i] != null) {
+//                    String col = column[i].getColumn();
+//                    String as = column[i].getAs();
+//                    if (StringUtils.isEmpty(col)) {
+//                        continue;
+//                    }
+//                    builder.append(col).append(as);
+//                    if (i < column.length - 1) {
+//                        builder.append(",");
+//                    }
+//                }
+//            }
+//            this.sqlSelect = builder.toString();
+//        }
+//        return this;
+//    }
 
     /**
      * <p>
@@ -182,13 +180,13 @@ public class Wrapper<T> extends com.baomidou.mybatisplus.core.conditions.Wrapper
      * @param columns 字段
      * @return
      */
-    public Wrapper<T> setSqlSelect(Columns columns) {
-        Column[] columnArray = columns.getColumns();
-        if (ArrayUtils.isNotEmpty(columnArray)) {
-            setSqlSelect(columnArray);
-        }
-        return this;
-    }
+//    public Wrapper<T> setSqlSelect(Columns columns) {
+//        Column[] columnArray = columns.getColumns();
+//        if (ArrayUtils.isNotEmpty(columnArray)) {
+//            setSqlSelect(columnArray);
+//        }
+//        return this;
+//    }
 
     @Override
     public String toString() {

+ 0 - 88
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/metadata/Column.java

@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2011-2020, hubin (jobob@qq.com).
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.baomidou.mybatisplus.core.metadata;
-
-import java.io.Serializable;
-
-import com.baomidou.mybatisplus.core.assist.ISqlRunner;
-import com.baomidou.mybatisplus.core.config.GlobalConfig;
-import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.core.toolkit.sql.SqlHelper;
-
-/**
- * <p>
- * 查询字段
- * </p>
- *
- * @author Caratacus
- * @since 2017-04-27
- */
-public class Column implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private static final String AS = " AS ";
-
-    /**
-     * 获取实例
-     */
-    public static Column create() {
-        return new Column();
-    }
-
-    //转义
-    private boolean escape = true;
-    //字段
-    private String column;
-    //AS
-    private String as;
-
-    public String getColumn() {
-        return column;
-    }
-
-    public Column column(String column) {
-        this.column = column;
-        return this;
-    }
-
-    public String getAs() {
-        if (StringUtils.isEmpty(getColumn()) || StringUtils.isEmpty(as)) {
-            return StringUtils.EMPTY;
-        }
-        String quote = null;
-        if (isEscape() && SqlHelper.FACTORY != null) {
-            GlobalConfig globalConfig = GlobalConfigUtils.getGlobalConfig(SqlHelper.FACTORY.getConfiguration());
-            // TODO 这里调整了转义
-            // quote = globalConfig.getIdentifierQuote() == null ? globalConfig.getDbType().getQuote() : globalConfig.getIdentifierQuote();
-        }
-        return AS + (StringUtils.isNotEmpty(quote) ? String.format(quote, as) : as);
-    }
-
-    public Column as(String as) {
-        this.as = as;
-        return this;
-    }
-
-    public boolean isEscape() {
-        return escape;
-    }
-
-    public void setEscape(boolean escape) {
-        this.escape = escape;
-    }
-}

+ 0 - 75
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/metadata/Columns.java

@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2011-2020, hubin (jobob@qq.com).
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.baomidou.mybatisplus.core.metadata;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * <p>
- * 查询字段
- * </p>
- *
- * @author bliver
- * @since 2017-07-28
- */
-public class Columns implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private Columns() {
-        // to do nothing
-    }
-
-
-    /**
-     * 字段
-     */
-    private List<Column> columns = new ArrayList<>();
-
-    /**
-     * 获取实例
-     */
-    public static Columns create() {
-        return new Columns();
-    }
-
-    public Columns column(String column) {
-        Column oneColumn = Column.create().column(column);
-        this.columns.add(oneColumn);
-        return this;
-    }
-
-    public Columns column(String column, String as) {
-        Column oneColumn = Column.create().column(column).as(as);
-        this.columns.add(oneColumn);
-        return this;
-    }
-
-    public Columns column(String column, String as, boolean escape) {
-        Column oneColumn = Column.create().column(column).as(as);
-        oneColumn.setEscape(escape);
-        this.columns.add(oneColumn);
-        return this;
-    }
-
-
-    public Column[] getColumns() {
-        Column[] columnArray = new Column[this.columns.size()];
-        return this.columns.toArray(columnArray);
-    }
-}

+ 9 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/metadata/IPage.java

@@ -145,6 +145,15 @@ public interface IPage<T> {
      */
     long getSize();
 
+    /**
+     * <p>
+     * 设置当前分页总页数
+     * </p>
+     *
+     * @return
+     */
+    IPage setSize(long size);
+
     /**
      * <p>
      * 当前页,默认 1

+ 3 - 3
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/PaginationInterceptor.java

@@ -127,9 +127,9 @@ public class PaginationInterceptor extends SqlParserHandler implements Intercept
             if (localPage) {
                 // 采用ThreadLocal变量处理的分页
 //                page = PageHelper.getPagination();
-//                if (page == null) {
-//                    return invocation.proceed();
-//                }
+                if (page == null) {
+                    return invocation.proceed();
+                }
             } else {
                 // 无需分页
                 return invocation.proceed();

+ 4 - 2
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/Pagination.java

@@ -31,7 +31,7 @@ import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
  * @author hubin
  * @since 2018-06-09
  */
-public class Pagination<T> implements IPage, Serializable {
+public class Pagination<T> implements IPage<T>, Serializable {
 
     /**
      * 查询数据列表
@@ -139,8 +139,10 @@ public class Pagination<T> implements IPage, Serializable {
         return this.total;
     }
 
-    public void setSize(long size) {
+    @Override
+    public Pagination setSize(long size) {
         this.size = size;
+        return this;
     }
 
     @Override