Browse Source

修复PR未指定解析器的时候引发空指针.

https://gitee.com/baomidou/mybatis-plus/pulls/101
聂秋秋 5 năm trước cách đây
mục cha
commit
6d4f1a6b44

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

@@ -273,9 +273,10 @@ public class PaginationInterceptor extends AbstractSqlParserHandler implements I
 
     @Override
     public void setProperties(Properties prop) {
-        //根据Mybatis的configuration配置来设置参数
         String countSqlParser = prop.getProperty("countSqlParser");
-        setSqlParser(countSqlParser);
+        if (StringUtils.isNotBlank(countSqlParser)) {
+            setSqlParser(countSqlParser);
+        }
         String overflow = prop.getProperty("overflow");
         setOverflow(Boolean.parseBoolean(overflow));
         String dialectType = prop.getProperty("dialectType");
@@ -293,11 +294,10 @@ public class PaginationInterceptor extends AbstractSqlParserHandler implements I
      * @param countSqlParser
      */
     public void setSqlParser(String countSqlParser) {
-        ISqlParser sqlParser = null;
         try {
             Class<?> clazz = Class.forName(countSqlParser);
             if (ISqlParser.class.isAssignableFrom(clazz)) {
-                sqlParser = ClassUtils.newInstance((Class<? extends ISqlParser>) clazz);
+                ISqlParser sqlParser = ClassUtils.newInstance((Class<? extends ISqlParser>) clazz);
                 setCountSqlParser(sqlParser);
             }
         } catch (ClassNotFoundException e) {