nieqiuqiu 5 лет назад
Родитель
Сommit
701facf742

+ 3 - 2
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/executor/MybatisBatchExecutor.java

@@ -112,9 +112,10 @@ public class MybatisBatchExecutor extends AbstractBaseExecutor {
         Connection connection = getConnection(ms.getStatementLog());
         //游标不支持返回null
         Statement stmt = handler.prepare(connection, transaction.getTimeout());
-        stmt.closeOnCompletion();
         handler.parameterize(stmt);
-        return handler.queryCursor(stmt);
+        Cursor<E> cursor = handler.queryCursor(stmt);
+        stmt.closeOnCompletion();
+        return cursor;
     }
 
     @Override

+ 1 - 1
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/executor/MybatisReuseExecutor.java

@@ -102,7 +102,7 @@ public class MybatisReuseExecutor extends AbstractBaseExecutor {
 
     private boolean hasStatementFor(String sql) {
         try {
-            return statementMap.keySet().contains(sql) && !statementMap.get(sql).getConnection().isClosed();
+            return statementMap.containsKey(sql) && !statementMap.get(sql).getConnection().isClosed();
         } catch (SQLException e) {
             return false;
         }

+ 4 - 6
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/executor/MybatisSimpleExecutor.java

@@ -75,12 +75,10 @@ public class MybatisSimpleExecutor extends AbstractBaseExecutor {
         Configuration configuration = ms.getConfiguration();
         StatementHandler handler = configuration.newStatementHandler(wrapper, ms, parameter, rowBounds, null, boundSql);
         Statement stmt = prepareStatement(handler, ms.getStatementLog(), true);
-        if (stmt != null) {
-            stmt.closeOnCompletion();
-            return handler.queryCursor(stmt);
-        } else {
-            return null;
-        }
+        assert stmt != null;
+        Cursor<E> cursor = handler.queryCursor(stmt);
+        stmt.closeOnCompletion();
+        return cursor;
     }
 
     @Override