Browse Source

发布 3.0-beta-SNAPSHOT 修复一些 bug

hubin 7 years ago
parent
commit
da2be5b4d6

+ 35 - 35
build.gradle

@@ -12,51 +12,51 @@ ext {
     ]
 
     dependencies = [
-        "jsqlparser"            : "com.github.jsqlparser:jsqlparser:${jsqlparserVersion}",
-        "mybatis-spring"        : "org.mybatis:mybatis-spring:${mybatisSpringVersion}",
-        "mybatis"               : "org.mybatis:mybatis:${mybatisVersion}",
-        "spring-context-support": "org.springframework:spring-context-support:${springVersion}",
-        "spring-jdbc"           : "org.springframework:spring-jdbc:${springVersion}",
-        "spring-tx"             : "org.springframework:spring-tx:${springVersion}",
-        "spring-web"            : "org.springframework:spring-web:${springVersion}",
-        "cglib"                 : "cglib:cglib:3.2.6",
-
-        "javax.servlet-api"     : "javax.servlet:javax.servlet-api:4.0.1",
-        "aspectjweaver"         : "org.aspectj:aspectjweaver:1.8.9",
-        "mockito"               : "org.mockito:mockito-core:2.13.0",
-        "mybatis-ehcache"       : "org.mybatis.caches:mybatis-ehcache:1.1.0",
-        "slf4j-api"             : "org.slf4j:slf4j-api:1.7.25",
-        "logback-classic"       : "ch.qos.logback:logback-classic:1.2.2",
+        "jsqlparser"                        : "com.github.jsqlparser:jsqlparser:${jsqlparserVersion}",
+        "mybatis-spring"                    : "org.mybatis:mybatis-spring:${mybatisSpringVersion}",
+        "mybatis"                           : "org.mybatis:mybatis:${mybatisVersion}",
+        "spring-context-support"            : "org.springframework:spring-context-support:${springVersion}",
+        "spring-jdbc"                       : "org.springframework:spring-jdbc:${springVersion}",
+        "spring-tx"                         : "org.springframework:spring-tx:${springVersion}",
+        "spring-web"                        : "org.springframework:spring-web:${springVersion}",
+        "cglib"                             : "cglib:cglib:3.2.6",
+
+        "javax.servlet-api"                 : "javax.servlet:javax.servlet-api:4.0.1",
+        "aspectjweaver"                     : "org.aspectj:aspectjweaver:1.8.9",
+        "mockito"                           : "org.mockito:mockito-core:2.13.0",
+        "mybatis-ehcache"                   : "org.mybatis.caches:mybatis-ehcache:1.1.0",
+        "slf4j-api"                         : "org.slf4j:slf4j-api:1.7.25",
+        "logback-classic"                   : "ch.qos.logback:logback-classic:1.2.2",
         //test
-        "spring-test"           : "org.springframework:spring-test:${springVersion}",
-        "junit"                 : "junit:junit:4.12",
-        "mockito-all"           : "org.mockito:mockito-all:1.10.19",
-        "lombok"                : "org.projectlombok:lombok:1.16.20",
-        "fastjson"              : "com.alibaba:fastjson:1.2.37",
-        "tomcatjdbc"            : "org.apache.tomcat:tomcat-jdbc:9.0.2",
+        "spring-test"                       : "org.springframework:spring-test:${springVersion}",
+        "junit"                             : "junit:junit:4.12",
+        "mockito-all"                       : "org.mockito:mockito-all:1.10.19",
+        "lombok"                            : "org.projectlombok:lombok:1.16.20",
+        "fastjson"                          : "com.alibaba:fastjson:1.2.37",
+        "tomcatjdbc"                        : "org.apache.tomcat:tomcat-jdbc:9.0.2",
         //datasource
-        "hikaricp"              : "com.zaxxer:HikariCP:2.7.0",
-        "druid"                 : "com.alibaba:druid:1.0.29",
-        "commons-dbcp2"         : "org.apache.commons:commons-dbcp2:2.1.1",
-        "sqlserver"             : "com.microsoft.sqlserver:sqljdbc4:4.0",
-        "postgresql"            : "org.postgresql:postgresql:9.4.1212",
-        "oracle"                : "com.oracle:ojdbc14:10.2.0.5.0",
-        "h2"                    : "com.h2database:h2:1.4.194",
-        "mysql"                 : "mysql:mysql-connector-java:5.1.38",
+        "hikaricp"                          : "com.zaxxer:HikariCP:2.7.0",
+        "druid"                             : "com.alibaba:druid:1.0.29",
+        "commons-dbcp2"                     : "org.apache.commons:commons-dbcp2:2.1.1",
+        "sqlserver"                         : "com.microsoft.sqlserver:sqljdbc4:4.0",
+        "postgresql"                        : "org.postgresql:postgresql:9.4.1212",
+        "oracle"                            : "com.oracle:ojdbc14:10.2.0.5.0",
+        "h2"                                : "com.h2database:h2:1.4.194",
+        "mysql"                             : "mysql:mysql-connector-java:5.1.38",
         //code generator
-        "velocity"              : "org.apache.velocity:velocity-engine-core:2.0",
-        "freemarker"            : "org.freemarker:freemarker:2.3.9",
+        "velocity"                          : "org.apache.velocity:velocity-engine-core:2.0",
+        "freemarker"                        : "org.freemarker:freemarker:2.3.9",
 
         // spring boot
-        "springboot-autoconfigure":"org.springframework.boot:spring-boot-autoconfigure:${springBootVersion}",
-        "springboot-configuration-processor":"org.springframework.boot:spring-boot-configuration-processor:${springBootVersion}",
-        "springboot-starter-jdbc":"org.springframework.boot:spring-boot-starter-jdbc:${springBootVersion}",
+        "springboot-autoconfigure"          : "org.springframework.boot:spring-boot-autoconfigure:${springBootVersion}",
+        "springboot-configuration-processor": "org.springframework.boot:spring-boot-configuration-processor:${springBootVersion}",
+        "springboot-starter-jdbc"           : "org.springframework.boot:spring-boot-starter-jdbc:${springBootVersion}",
     ]
 }
 
 allprojects {
     group = 'com.baomidou'
-    version = '3.0-beta'
+    version = '3.0-beta-SNAPSHOT'
 }
 
 description = "Mybatis 增强工具包 - 只做增强不做改变,简化CRUD操作"

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

@@ -15,16 +15,16 @@
  */
 package com.baomidou.mybatisplus.extension.plugins;
 
+import static java.util.stream.Collectors.joining;
+
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
-import java.util.List;
+import java.util.Arrays;
 import java.util.Map;
 import java.util.Properties;
 
 import org.apache.ibatis.executor.statement.StatementHandler;
-import org.apache.ibatis.logging.Log;
-import org.apache.ibatis.logging.LogFactory;
 import org.apache.ibatis.mapping.BoundSql;
 import org.apache.ibatis.mapping.MappedStatement;
 import org.apache.ibatis.mapping.SqlCommandType;
@@ -44,7 +44,7 @@ import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.parser.ISqlParser;
 import com.baomidou.mybatisplus.core.parser.SqlInfo;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
 import com.baomidou.mybatisplus.core.toolkit.PluginUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.sql.SqlUtils;
@@ -170,8 +170,8 @@ public class PaginationInterceptor extends SqlParserHandler implements Intercept
      * @return
      */
     public static String concatOrderBy(String originalSql, IPage page, boolean orderBy) {
-        if (orderBy && (CollectionUtils.isNotEmpty(page.ascs())
-            || CollectionUtils.isNotEmpty(page.descs()))) {
+        if (orderBy && (ArrayUtils.isNotEmpty(page.ascs())
+            || ArrayUtils.isNotEmpty(page.descs()))) {
             StringBuilder buildSql = new StringBuilder(originalSql);
             String ascStr = concatOrderBuilder(page.ascs(), " ASC");
             String descStr = concatOrderBuilder(page.descs(), " DESC");
@@ -192,19 +192,10 @@ public class PaginationInterceptor extends SqlParserHandler implements Intercept
      * @param columns
      * @param orderWord
      */
-    private static String concatOrderBuilder(List<String> columns, String orderWord) {
-        if (CollectionUtils.isNotEmpty(columns)) {
-            StringBuilder builder = new StringBuilder(16);
-            for (int i = 0; i < columns.size(); ) {
-                String cs = columns.get(i);
-                if (StringUtils.isNotEmpty(cs)) {
-                    builder.append(cs).append(orderWord);
-                }
-                if (++i != columns.size() && StringUtils.isNotEmpty(cs)) {
-                    builder.append(", ");
-                }
-            }
-            return builder.toString();
+    private static String concatOrderBuilder(String[] columns, String orderWord) {
+        if (ArrayUtils.isNotEmpty(columns)) {
+            return Arrays.stream(columns).filter(c -> StringUtils.isNotEmpty(c))
+                .collect(joining(",", "", orderWord));
         }
         return StringUtils.EMPTY;
     }