public class org.springframework.jdbc.core.JdbcTemplate extends org.springframework.jdbc.support.JdbcAccessor implements org.springframework.jdbc.core.JdbcOperations
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.jdbc.core.JdbcTemplate
  super_class: org.springframework.jdbc.support.JdbcAccessor
{
  private static final java.lang.String RETURN_RESULT_SET_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "#result-set-"

  private static final java.lang.String RETURN_UPDATE_COUNT_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "#update-count-"

  private boolean ignoreWarnings;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int fetchSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int maxRows;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int queryTimeout;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean skipResultsProcessing;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean skipUndeclaredResults;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean resultsMapCaseInsensitive;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 162
            aload 0 /* this */
            invokespecial org.springframework.jdbc.support.JdbcAccessor.<init>:()V
         1: .line 115
            aload 0 /* this */
            iconst_1
            putfield org.springframework.jdbc.core.JdbcTemplate.ignoreWarnings:Z
         2: .line 121
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.fetchSize:I
         3: .line 127
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.maxRows:I
         4: .line 133
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.queryTimeout:I
         5: .line 140
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
         6: .line 148
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
         7: .line 154
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.resultsMapCaseInsensitive:Z
         8: .line 163
            return
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;

  public void <init>(javax.sql.DataSource);
    descriptor: (Ljavax/sql/DataSource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // javax.sql.DataSource dataSource
         0: .line 170
            aload 0 /* this */
            invokespecial org.springframework.jdbc.support.JdbcAccessor.<init>:()V
         1: .line 115
            aload 0 /* this */
            iconst_1
            putfield org.springframework.jdbc.core.JdbcTemplate.ignoreWarnings:Z
         2: .line 121
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.fetchSize:I
         3: .line 127
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.maxRows:I
         4: .line 133
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.queryTimeout:I
         5: .line 140
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
         6: .line 148
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
         7: .line 154
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.resultsMapCaseInsensitive:Z
         8: .line 171
            aload 0 /* this */
            aload 1 /* dataSource */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.setDataSource:(Ljavax/sql/DataSource;)V
         9: .line 172
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.afterPropertiesSet:()V
        10: .line 173
            return
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   11     1  dataSource  Ljavax/sql/DataSource;
    MethodParameters:
            Name  Flags
      dataSource  

  public void <init>(javax.sql.DataSource, boolean);
    descriptor: (Ljavax/sql/DataSource;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // javax.sql.DataSource dataSource
        start local 2 // boolean lazyInit
         0: .line 182
            aload 0 /* this */
            invokespecial org.springframework.jdbc.support.JdbcAccessor.<init>:()V
         1: .line 115
            aload 0 /* this */
            iconst_1
            putfield org.springframework.jdbc.core.JdbcTemplate.ignoreWarnings:Z
         2: .line 121
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.fetchSize:I
         3: .line 127
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.maxRows:I
         4: .line 133
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.queryTimeout:I
         5: .line 140
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
         6: .line 148
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
         7: .line 154
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.resultsMapCaseInsensitive:Z
         8: .line 183
            aload 0 /* this */
            aload 1 /* dataSource */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.setDataSource:(Ljavax/sql/DataSource;)V
         9: .line 184
            aload 0 /* this */
            iload 2 /* lazyInit */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.setLazyInit:(Z)V
        10: .line 185
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.afterPropertiesSet:()V
        11: .line 186
            return
        end local 2 // boolean lazyInit
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   12     1  dataSource  Ljavax/sql/DataSource;
            0   12     2    lazyInit  Z
    MethodParameters:
            Name  Flags
      dataSource  
      lazyInit    

  public void setIgnoreWarnings(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // boolean ignoreWarnings
         0: .line 198
            aload 0 /* this */
            iload 1 /* ignoreWarnings */
            putfield org.springframework.jdbc.core.JdbcTemplate.ignoreWarnings:Z
         1: .line 199
            return
        end local 1 // boolean ignoreWarnings
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1  ignoreWarnings  Z
    MethodParameters:
                Name  Flags
      ignoreWarnings  

  public boolean isIgnoreWarnings();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 205
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.ignoreWarnings:Z
            ireturn
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;

  public void setFetchSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // int fetchSize
         0: .line 220
            aload 0 /* this */
            iload 1 /* fetchSize */
            putfield org.springframework.jdbc.core.JdbcTemplate.fetchSize:I
         1: .line 221
            return
        end local 1 // int fetchSize
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1  fetchSize  I
    MethodParameters:
           Name  Flags
      fetchSize  

  public int getFetchSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 227
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.fetchSize:I
            ireturn
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;

  public void setMaxRows(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // int maxRows
         0: .line 243
            aload 0 /* this */
            iload 1 /* maxRows */
            putfield org.springframework.jdbc.core.JdbcTemplate.maxRows:I
         1: .line 244
            return
        end local 1 // int maxRows
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1  maxRows  I
    MethodParameters:
         Name  Flags
      maxRows  

  public int getMaxRows();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 250
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.maxRows:I
            ireturn
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;

  public void setQueryTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // int queryTimeout
         0: .line 263
            aload 0 /* this */
            iload 1 /* queryTimeout */
            putfield org.springframework.jdbc.core.JdbcTemplate.queryTimeout:I
         1: .line 264
            return
        end local 1 // int queryTimeout
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1  queryTimeout  I
    MethodParameters:
              Name  Flags
      queryTimeout  

  public int getQueryTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 270
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.queryTimeout:I
            ireturn
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;

  public void setSkipResultsProcessing(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // boolean skipResultsProcessing
         0: .line 280
            aload 0 /* this */
            iload 1 /* skipResultsProcessing */
            putfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
         1: .line 281
            return
        end local 1 // boolean skipResultsProcessing
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1  skipResultsProcessing  Z
    MethodParameters:
                       Name  Flags
      skipResultsProcessing  

  public boolean isSkipResultsProcessing();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 287
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
            ireturn
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;

  public void setSkipUndeclaredResults(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // boolean skipUndeclaredResults
         0: .line 294
            aload 0 /* this */
            iload 1 /* skipUndeclaredResults */
            putfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
         1: .line 295
            return
        end local 1 // boolean skipUndeclaredResults
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1  skipUndeclaredResults  Z
    MethodParameters:
                       Name  Flags
      skipUndeclaredResults  

  public boolean isSkipUndeclaredResults();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 301
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
            ireturn
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;

  public void setResultsMapCaseInsensitive(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // boolean resultsMapCaseInsensitive
         0: .line 309
            aload 0 /* this */
            iload 1 /* resultsMapCaseInsensitive */
            putfield org.springframework.jdbc.core.JdbcTemplate.resultsMapCaseInsensitive:Z
         1: .line 310
            return
        end local 1 // boolean resultsMapCaseInsensitive
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1  resultsMapCaseInsensitive  Z
    MethodParameters:
                           Name  Flags
      resultsMapCaseInsensitive  

  public boolean isResultsMapCaseInsensitive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 317
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.resultsMapCaseInsensitive:Z
            ireturn
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;

  public <T> T execute(org.springframework.jdbc.core.ConnectionCallback<T>);
    descriptor: (Lorg/springframework/jdbc/core/ConnectionCallback;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.ConnectionCallback action
         0: .line 328
            aload 1 /* action */
            ldc "Callback object must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 330
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.obtainDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.getConnection:(Ljavax/sql/DataSource;)Ljava/sql/Connection;
            astore 2 /* con */
        start local 2 // java.sql.Connection con
         2: .line 333
            aload 0 /* this */
            aload 2 /* con */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.createConnectionProxy:(Ljava/sql/Connection;)Ljava/sql/Connection;
            astore 3 /* conToUse */
        start local 3 // java.sql.Connection conToUse
         3: .line 334
            aload 1 /* action */
            aload 3 /* conToUse */
            invokeinterface org.springframework.jdbc.core.ConnectionCallback.doInConnection:(Ljava/sql/Connection;)Ljava/lang/Object;
            astore 6
         4: .line 345
            aload 2 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
         5: .line 334
            aload 6
            areturn
        end local 3 // java.sql.Connection conToUse
         6: .line 336
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ConnectionCallback java.sql.Connection
      StackMap stack: java.sql.SQLException
            astore 3 /* ex */
        start local 3 // java.sql.SQLException ex
         7: .line 339
            aload 1 /* action */
            invokestatic org.springframework.jdbc.core.JdbcTemplate.getSql:(Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* sql */
        start local 4 // java.lang.String sql
         8: .line 340
            aload 2 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
         9: .line 341
            aconst_null
            astore 2 /* con */
        10: .line 342
            aload 0 /* this */
            ldc "ConnectionCallback"
            aload 4 /* sql */
            aload 3 /* ex */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.translateException:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
            athrow
        end local 4 // java.lang.String sql
        end local 3 // java.sql.SQLException ex
        11: .line 344
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        12: .line 345
            aload 2 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        13: .line 346
            aload 5
            athrow
        end local 2 // java.sql.Connection con
        end local 1 // org.springframework.jdbc.core.ConnectionCallback action
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   14     1    action  Lorg/springframework/jdbc/core/ConnectionCallback<TT;>;
            2   14     2       con  Ljava/sql/Connection;
            3    6     3  conToUse  Ljava/sql/Connection;
            7   11     3        ex  Ljava/sql/SQLException;
            8   11     4       sql  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     4       6  Class java.sql.SQLException
           2     4      11  any
           6    11      11  any
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/ConnectionCallback<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      action  

  protected java.sql.Connection createConnectionProxy(java.sql.Connection);
    descriptor: (Ljava/sql/Connection;)Ljava/sql/Connection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.sql.Connection con
         0: .line 362
            ldc Lorg/springframework/jdbc/datasource/ConnectionProxy;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         1: .line 363
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/springframework/jdbc/datasource/ConnectionProxy;
            aastore
         2: .line 364
            new org.springframework.jdbc.core.JdbcTemplate$CloseSuppressingInvocationHandler
            dup
            aload 0 /* this */
            aload 1 /* con */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$CloseSuppressingInvocationHandler.<init>:(Lorg/springframework/jdbc/core/JdbcTemplate;Ljava/sql/Connection;)V
         3: .line 361
            invokestatic java.lang.reflect.Proxy.newProxyInstance:(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
            checkcast java.sql.Connection
            areturn
        end local 1 // java.sql.Connection con
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    4     1   con  Ljava/sql/Connection;
    MethodParameters:
      Name  Flags
      con   

  private <T> T execute(org.springframework.jdbc.core.StatementCallback<T>, );
    descriptor: (Lorg/springframework/jdbc/core/StatementCallback;Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.StatementCallback action
        start local 2 // boolean closeResources
         0: .line 374
            aload 1 /* action */
            ldc "Callback object must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 376
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.obtainDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.getConnection:(Ljavax/sql/DataSource;)Ljava/sql/Connection;
            astore 3 /* con */
        start local 3 // java.sql.Connection con
         2: .line 377
            aconst_null
            astore 4 /* stmt */
        start local 4 // java.sql.Statement stmt
         3: .line 379
            aload 3 /* con */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 4 /* stmt */
         4: .line 380
            aload 0 /* this */
            aload 4 /* stmt */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.applyStatementSettings:(Ljava/sql/Statement;)V
         5: .line 381
            aload 1 /* action */
            aload 4 /* stmt */
            invokeinterface org.springframework.jdbc.core.StatementCallback.doInStatement:(Ljava/sql/Statement;)Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
         6: .line 382
            aload 0 /* this */
            aload 4 /* stmt */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.handleWarnings:(Ljava/sql/Statement;)V
         7: .line 383
            aload 5 /* result */
            astore 8
         8: .line 396
            iload 2 /* closeResources */
            ifeq 11
         9: .line 397
            aload 4 /* stmt */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        10: .line 398
            aload 3 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        11: .line 383
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.StatementCallback int java.sql.Connection java.sql.Statement java.lang.Object top top java.lang.Object
      StackMap stack:
            aload 8
            areturn
        end local 5 // java.lang.Object result
        12: .line 385
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.StatementCallback int java.sql.Connection java.sql.Statement
      StackMap stack: java.sql.SQLException
            astore 5 /* ex */
        start local 5 // java.sql.SQLException ex
        13: .line 388
            aload 1 /* action */
            invokestatic org.springframework.jdbc.core.JdbcTemplate.getSql:(Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* sql */
        start local 6 // java.lang.String sql
        14: .line 389
            aload 4 /* stmt */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        15: .line 390
            aconst_null
            astore 4 /* stmt */
        16: .line 391
            aload 3 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        17: .line 392
            aconst_null
            astore 3 /* con */
        18: .line 393
            aload 0 /* this */
            ldc "StatementCallback"
            aload 6 /* sql */
            aload 5 /* ex */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.translateException:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
            athrow
        end local 6 // java.lang.String sql
        end local 5 // java.sql.SQLException ex
        19: .line 395
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        20: .line 396
            iload 2 /* closeResources */
            ifeq 23
        21: .line 397
            aload 4 /* stmt */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        22: .line 398
            aload 3 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        23: .line 400
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.StatementCallback int java.sql.Connection java.sql.Statement top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        end local 4 // java.sql.Statement stmt
        end local 3 // java.sql.Connection con
        end local 2 // boolean closeResources
        end local 1 // org.springframework.jdbc.core.StatementCallback action
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   24     1          action  Lorg/springframework/jdbc/core/StatementCallback<TT;>;
            0   24     2  closeResources  Z
            2   24     3             con  Ljava/sql/Connection;
            3   24     4            stmt  Ljava/sql/Statement;
            6   12     5          result  TT;
           13   19     5              ex  Ljava/sql/SQLException;
           14   19     6             sql  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     8      12  Class java.sql.SQLException
           3     8      19  any
          12    19      19  any
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/StatementCallback<TT;>;Z)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      action          
      closeResources  

  public <T> T execute(org.springframework.jdbc.core.StatementCallback<T>);
    descriptor: (Lorg/springframework/jdbc/core/StatementCallback;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.StatementCallback action
         0: .line 406
            aload 0 /* this */
            aload 1 /* action */
            iconst_1
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;Z)Ljava/lang/Object;
            areturn
        end local 1 // org.springframework.jdbc.core.StatementCallback action
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1  action  Lorg/springframework/jdbc/core/StatementCallback<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/StatementCallback<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      action  

  public void execute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
         0: .line 411
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 412
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Executing SQL statement ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback
            dup
            aload 0 /* this */
            aload 1 /* sql */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.<init>:(Lorg/springframework/jdbc/core/JdbcTemplate;Ljava/lang/String;)V
            iconst_1
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;Z)Ljava/lang/Object;
            pop
         3: .line 432
            return
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    4     1   sql  Ljava/lang/String;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
      Name  Flags
      sql   final

  public <T> T query(java.lang.String, org.springframework.jdbc.core.ResultSetExtractor<T>);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.ResultSetExtractor rse
         0: .line 437
            aload 1 /* sql */
            ldc "SQL must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 438
            aload 2 /* rse */
            ldc "ResultSetExtractor must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 439
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 4
         3: .line 440
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Executing SQL query ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         4: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback
            dup
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* rse */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.<init>:(Lorg/springframework/jdbc/core/JdbcTemplate;Ljava/lang/String;Lorg/springframework/jdbc/core/ResultSetExtractor;)V
            iconst_1
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;Z)Ljava/lang/Object;
            areturn
        end local 2 // org.springframework.jdbc.core.ResultSetExtractor rse
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    5     1   sql  Ljava/lang/String;
            0    5     2   rse  Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      sql   final
      rse   final

  public void query(java.lang.String, org.springframework.jdbc.core.RowCallbackHandler);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/RowCallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.RowCallbackHandler rch
         0: .line 470
            aload 0 /* this */
            aload 1 /* sql */
            new org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor
            dup
            aload 2 /* rch */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowCallbackHandler;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            pop
         1: .line 471
            return
        end local 2 // org.springframework.jdbc.core.RowCallbackHandler rch
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1   sql  Ljava/lang/String;
            0    2     2   rch  Lorg/springframework/jdbc/core/RowCallbackHandler;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
      Name  Flags
      sql   
      rch   

  public <T> java.util.List<T> query(java.lang.String, org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 475
            aload 0 /* this */
            aload 1 /* sql */
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 2 /* rowMapper */
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast java.util.List
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        sql  Ljava/lang/String;
            0    1     2  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
           Name  Flags
      sql        
      rowMapper  

  public <T> java.util.stream.Stream<T> queryForStream(java.lang.String, org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 497
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$1StreamStatementCallback
            dup
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* rowMapper */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$1StreamStatementCallback.<init>:(Lorg/springframework/jdbc/core/JdbcTemplate;Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)V
            iconst_0
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;Z)Ljava/lang/Object;
            checkcast java.util.stream.Stream
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.stream.Stream
            areturn
        end local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        sql  Ljava/lang/String;
            0    1     2  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper<TT;>;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
           Name  Flags
      sql        
      rowMapper  

  public java.util.Map<java.lang.String, java.lang.Object> queryForMap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
         0: .line 502
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getColumnMapRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForObject:(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
            checkcast java.util.Map
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            areturn
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: (Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      sql   

  public <T> T queryForObject(java.lang.String, org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 508
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* rowMapper */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
            astore 3 /* results */
        start local 3 // java.util.List results
         1: .line 509
            aload 3 /* results */
            invokestatic org.springframework.dao.support.DataAccessUtils.nullableSingleResult:(Ljava/util/Collection;)Ljava/lang/Object;
            areturn
        end local 3 // java.util.List results
        end local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1        sql  Ljava/lang/String;
            0    2     2  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
            1    2     3    results  Ljava/util/List<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      sql        
      rowMapper  

  public <T> T queryForObject(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Class requiredType
         0: .line 515
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 2 /* requiredType */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getSingleColumnRowMapper:(Ljava/lang/Class;)Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForObject:(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Class requiredType
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1           sql  Ljava/lang/String;
            0    1     2  requiredType  Ljava/lang/Class<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      sql           
      requiredType  

  public <T> java.util.List<T> queryForList(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Class elementType
         0: .line 520
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 2 /* elementType */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getSingleColumnRowMapper:(Ljava/lang/Class;)Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
            areturn
        end local 2 // java.lang.Class elementType
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1          sql  Ljava/lang/String;
            0    1     2  elementType  Ljava/lang/Class<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
             Name  Flags
      sql          
      elementType  

  public java.util.List<java.util.Map<java.lang.String, java.lang.Object>> queryForList(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
         0: .line 525
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getColumnMapRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
            areturn
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
    MethodParameters:
      Name  Flags
      sql   

  public org.springframework.jdbc.support.rowset.SqlRowSet queryForRowSet(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/jdbc/support/rowset/SqlRowSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
         0: .line 530
            aload 0 /* this */
            aload 1 /* sql */
            new org.springframework.jdbc.core.SqlRowSetResultSetExtractor
            dup
            invokespecial org.springframework.jdbc.core.SqlRowSetResultSetExtractor.<init>:()V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast org.springframework.jdbc.support.rowset.SqlRowSet
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.jdbc.support.rowset.SqlRowSet
            areturn
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
      Name  Flags
      sql   

  public int update(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
         0: .line 535
            aload 1 /* sql */
            ldc "SQL must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 536
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 3
         2: .line 537
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Executing SQL update ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         3: .line 558
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback
            dup
            aload 0 /* this */
            aload 1 /* sql */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback.<init>:(Lorg/springframework/jdbc/core/JdbcTemplate;Ljava/lang/String;)V
            iconst_1
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;Z)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokestatic org.springframework.jdbc.core.JdbcTemplate.updateCount:(Ljava/lang/Integer;)I
            ireturn
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    4     1   sql  Ljava/lang/String;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
      Name  Flags
      sql   final

  public int[] batchUpdate(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[I
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String[] sql
         0: .line 563
            aload 1 /* sql */
            ldc "SQL array must not be empty"
            invokestatic org.springframework.util.Assert.notEmpty:([Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 564
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 3
         2: .line 565
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Executing SQL batch update of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sql */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " statements"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         3: .line 625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$1BatchUpdateStatementCallback
            dup
            aload 0 /* this */
            aload 1 /* sql */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$1BatchUpdateStatementCallback.<init>:(Lorg/springframework/jdbc/core/JdbcTemplate;[Ljava/lang/String;)V
            iconst_1
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;Z)Ljava/lang/Object;
            checkcast int[]
            astore 2 /* result */
        start local 2 // int[] result
         4: .line 626
            aload 2 /* result */
            ifnull 5
            iconst_1
            goto 6
      StackMap locals: int[]
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: ldc "No update counts"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         7: .line 627
            aload 2 /* result */
            areturn
        end local 2 // int[] result
        end local 1 // java.lang.String[] sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    8     1     sql  [Ljava/lang/String;
            4    8     2  result  [I
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
      Name  Flags
      sql   final

  private <T> T execute(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.PreparedStatementCallback<T>, );
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.core.PreparedStatementCallback action
        start local 3 // boolean closeResources
         0: .line 639
            aload 1 /* psc */
            ldc "PreparedStatementCreator must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 640
            aload 2 /* action */
            ldc "Callback object must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 641
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 7
         3: .line 642
            aload 1 /* psc */
            invokestatic org.springframework.jdbc.core.JdbcTemplate.getSql:(Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* sql */
        start local 4 // java.lang.String sql
         4: .line 643
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Executing prepared SQL statement"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* sql */
            ifnull 5
            new java.lang.StringBuilder
            dup
            ldc " ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 6
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback int java.lang.String
      StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder
         5: ldc ""
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback int java.lang.String
      StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder java.lang.String
         6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        end local 4 // java.lang.String sql
         7: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.obtainDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.getConnection:(Ljavax/sql/DataSource;)Ljava/sql/Connection;
            astore 4 /* con */
        start local 4 // java.sql.Connection con
         8: .line 647
            aconst_null
            astore 5 /* ps */
        start local 5 // java.sql.PreparedStatement ps
         9: .line 649
            aload 1 /* psc */
            aload 4 /* con */
            invokeinterface org.springframework.jdbc.core.PreparedStatementCreator.createPreparedStatement:(Ljava/sql/Connection;)Ljava/sql/PreparedStatement;
            astore 5 /* ps */
        10: .line 650
            aload 0 /* this */
            aload 5 /* ps */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.applyStatementSettings:(Ljava/sql/Statement;)V
        11: .line 651
            aload 2 /* action */
            aload 5 /* ps */
            invokeinterface org.springframework.jdbc.core.PreparedStatementCallback.doInPreparedStatement:(Ljava/sql/PreparedStatement;)Ljava/lang/Object;
            astore 6 /* result */
        start local 6 // java.lang.Object result
        12: .line 652
            aload 0 /* this */
            aload 5 /* ps */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.handleWarnings:(Ljava/sql/Statement;)V
        13: .line 653
            aload 6 /* result */
            astore 9
        14: .line 670
            iload 3 /* closeResources */
            ifeq 19
        15: .line 671
            aload 1 /* psc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 17
        16: .line 672
            aload 1 /* psc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        17: .line 674
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback int java.sql.Connection java.sql.PreparedStatement java.lang.Object top top java.lang.Object
      StackMap stack:
            aload 5 /* ps */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        18: .line 675
            aload 4 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        19: .line 653
      StackMap locals:
      StackMap stack:
            aload 9
            areturn
        end local 6 // java.lang.Object result
        20: .line 655
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback int java.sql.Connection java.sql.PreparedStatement
      StackMap stack: java.sql.SQLException
            astore 6 /* ex */
        start local 6 // java.sql.SQLException ex
        21: .line 658
            aload 1 /* psc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 23
        22: .line 659
            aload 1 /* psc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        23: .line 661
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 1 /* psc */
            invokestatic org.springframework.jdbc.core.JdbcTemplate.getSql:(Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* sql */
        start local 7 // java.lang.String sql
        24: .line 662
            aconst_null
            astore 1 /* psc */
        25: .line 663
            aload 5 /* ps */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        26: .line 664
            aconst_null
            astore 5 /* ps */
        27: .line 665
            aload 4 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        28: .line 666
            aconst_null
            astore 4 /* con */
        29: .line 667
            aload 0 /* this */
            ldc "PreparedStatementCallback"
            aload 7 /* sql */
            aload 6 /* ex */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.translateException:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
            athrow
        end local 7 // java.lang.String sql
        end local 6 // java.sql.SQLException ex
        30: .line 669
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback int java.sql.Connection java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 8
        31: .line 670
            iload 3 /* closeResources */
            ifeq 36
        32: .line 671
            aload 1 /* psc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 34
        33: .line 672
            aload 1 /* psc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        34: .line 674
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback int java.sql.Connection java.sql.PreparedStatement top top java.lang.Throwable
      StackMap stack:
            aload 5 /* ps */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        35: .line 675
            aload 4 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        36: .line 677
      StackMap locals:
      StackMap stack:
            aload 8
            athrow
        end local 5 // java.sql.PreparedStatement ps
        end local 4 // java.sql.Connection con
        end local 3 // boolean closeResources
        end local 2 // org.springframework.jdbc.core.PreparedStatementCallback action
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   37     0            this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   37     1             psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0   37     2          action  Lorg/springframework/jdbc/core/PreparedStatementCallback<TT;>;
            0   37     3  closeResources  Z
            4    7     4             sql  Ljava/lang/String;
            8   37     4             con  Ljava/sql/Connection;
            9   37     5              ps  Ljava/sql/PreparedStatement;
           12   20     6          result  TT;
           21   30     6              ex  Ljava/sql/SQLException;
           24   30     7             sql  Ljava/lang/String;
      Exception table:
        from    to  target  type
           9    14      20  Class java.sql.SQLException
           9    14      30  any
          20    30      30  any
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback<TT;>;Z)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      psc             
      action          
      closeResources  

  public <T> T execute(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.PreparedStatementCallback<T>);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.core.PreparedStatementCallback action
         0: .line 685
            aload 0 /* this */
            aload 1 /* psc */
            aload 2 /* action */
            iconst_1
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;Z)Ljava/lang/Object;
            areturn
        end local 2 // org.springframework.jdbc.core.PreparedStatementCallback action
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1     psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    1     2  action  Lorg/springframework/jdbc/core/PreparedStatementCallback<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      psc     
      action  

  public <T> T execute(java.lang.String, org.springframework.jdbc.core.PreparedStatementCallback<T>);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementCallback;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.PreparedStatementCallback action
         0: .line 691
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator
            dup
            aload 1 /* sql */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.<init>:(Ljava/lang/String;)V
            aload 2 /* action */
            iconst_1
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;Z)Ljava/lang/Object;
            areturn
        end local 2 // org.springframework.jdbc.core.PreparedStatementCallback action
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1     sql  Ljava/lang/String;
            0    1     2  action  Lorg/springframework/jdbc/core/PreparedStatementCallback<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementCallback<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      sql     
      action  

  public <T> T query(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.ResultSetExtractor<T>);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        start local 3 // org.springframework.jdbc.core.ResultSetExtractor rse
         0: .line 710
            aload 3 /* rse */
            ldc "ResultSetExtractor must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 711
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            ldc "Executing prepared SQL query"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 713
            aload 0 /* this */
            aload 1 /* psc */
            new org.springframework.jdbc.core.JdbcTemplate$1
            dup
            aload 0 /* this */
            aload 2 /* pss */
            aload 3 /* rse */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$1.<init>:(Lorg/springframework/jdbc/core/JdbcTemplate;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)V
         3: .line 732
            iconst_1
         4: .line 713
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;Z)Ljava/lang/Object;
            areturn
        end local 3 // org.springframework.jdbc.core.ResultSetExtractor rse
        end local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    5     1   psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    5     2   pss  Lorg/springframework/jdbc/core/PreparedStatementSetter;
            0    5     3   rse  Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
      Name  Flags
      psc   
      pss   final
      rse   final

  public <T> T query(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.ResultSetExtractor<T>);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.core.ResultSetExtractor rse
         0: .line 738
            aload 0 /* this */
            aload 1 /* psc */
            aconst_null
            aload 2 /* rse */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            areturn
        end local 2 // org.springframework.jdbc.core.ResultSetExtractor rse
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    1     2   rse  Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      psc   
      rse   

  public <T> T query(java.lang.String, org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.ResultSetExtractor<T>);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        start local 3 // org.springframework.jdbc.core.ResultSetExtractor rse
         0: .line 744
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator
            dup
            aload 1 /* sql */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.<init>:(Ljava/lang/String;)V
            aload 2 /* pss */
            aload 3 /* rse */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            areturn
        end local 3 // org.springframework.jdbc.core.ResultSetExtractor rse
        end local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
            0    1     2   pss  Lorg/springframework/jdbc/core/PreparedStatementSetter;
            0    1     3   rse  Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
      Name  Flags
      sql   
      pss   
      rse   

  public <T> T query(java.lang.String, [], int[], org.springframework.jdbc.core.ResultSetExtractor<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
        start local 4 // org.springframework.jdbc.core.ResultSetExtractor rse
         0: .line 750
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 2 /* args */
            aload 3 /* argTypes */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.newArgTypePreparedStatementSetter:([Ljava/lang/Object;[I)Lorg/springframework/jdbc/core/PreparedStatementSetter;
            aload 4 /* rse */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            areturn
        end local 4 // org.springframework.jdbc.core.ResultSetExtractor rse
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1       sql  Ljava/lang/String;
            0    1     2      args  [Ljava/lang/Object;
            0    1     3  argTypes  [I
            0    1     4       rse  Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/ResultSetExtractor<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      sql       
      args      
      argTypes  
      rse       

  public <T> T query(java.lang.String, [], org.springframework.jdbc.core.ResultSetExtractor<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // org.springframework.jdbc.core.ResultSetExtractor rse
         0: .line 757
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 2 /* args */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.newArgPreparedStatementSetter:([Ljava/lang/Object;)Lorg/springframework/jdbc/core/PreparedStatementSetter;
            aload 3 /* rse */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            areturn
        end local 3 // org.springframework.jdbc.core.ResultSetExtractor rse
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
            0    1     2  args  [Ljava/lang/Object;
            0    1     3   rse  Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
      Name  Flags
      sql   
      args  
      rse   

  public <T> T query(java.lang.String, org.springframework.jdbc.core.ResultSetExtractor<T>, []);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/ResultSetExtractor;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.ResultSetExtractor rse
        start local 3 // java.lang.Object[] args
         0: .line 763
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 3 /* args */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.newArgPreparedStatementSetter:([Ljava/lang/Object;)Lorg/springframework/jdbc/core/PreparedStatementSetter;
            aload 2 /* rse */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // org.springframework.jdbc.core.ResultSetExtractor rse
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
            0    1     2   rse  Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;
            0    1     3  args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/ResultSetExtractor<TT;>;[Ljava/lang/Object;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      sql   
      rse   
      args  

  public void query(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.RowCallbackHandler);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/RowCallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.core.RowCallbackHandler rch
         0: .line 768
            aload 0 /* this */
            aload 1 /* psc */
            new org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor
            dup
            aload 2 /* rch */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowCallbackHandler;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            pop
         1: .line 769
            return
        end local 2 // org.springframework.jdbc.core.RowCallbackHandler rch
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1   psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    2     2   rch  Lorg/springframework/jdbc/core/RowCallbackHandler;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
      Name  Flags
      psc   
      rch   

  public void query(java.lang.String, org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.RowCallbackHandler);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowCallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        start local 3 // org.springframework.jdbc.core.RowCallbackHandler rch
         0: .line 773
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* pss */
            new org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor
            dup
            aload 3 /* rch */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowCallbackHandler;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            pop
         1: .line 774
            return
        end local 3 // org.springframework.jdbc.core.RowCallbackHandler rch
        end local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1   sql  Ljava/lang/String;
            0    2     2   pss  Lorg/springframework/jdbc/core/PreparedStatementSetter;
            0    2     3   rch  Lorg/springframework/jdbc/core/RowCallbackHandler;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
      Name  Flags
      sql   
      pss   
      rch   

  public void query(java.lang.String, java.lang.Object[], int[], org.springframework.jdbc.core.RowCallbackHandler);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/RowCallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
        start local 4 // org.springframework.jdbc.core.RowCallbackHandler rch
         0: .line 778
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 2 /* args */
            aload 3 /* argTypes */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.newArgTypePreparedStatementSetter:([Ljava/lang/Object;[I)Lorg/springframework/jdbc/core/PreparedStatementSetter;
            aload 4 /* rch */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowCallbackHandler;)V
         1: .line 779
            return
        end local 4 // org.springframework.jdbc.core.RowCallbackHandler rch
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1       sql  Ljava/lang/String;
            0    2     2      args  [Ljava/lang/Object;
            0    2     3  argTypes  [I
            0    2     4       rch  Lorg/springframework/jdbc/core/RowCallbackHandler;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
          Name  Flags
      sql       
      args      
      argTypes  
      rch       

  public void query(java.lang.String, java.lang.Object[], org.springframework.jdbc.core.RowCallbackHandler);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowCallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // org.springframework.jdbc.core.RowCallbackHandler rch
         0: .line 784
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 2 /* args */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.newArgPreparedStatementSetter:([Ljava/lang/Object;)Lorg/springframework/jdbc/core/PreparedStatementSetter;
            aload 3 /* rch */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowCallbackHandler;)V
         1: .line 785
            return
        end local 3 // org.springframework.jdbc.core.RowCallbackHandler rch
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1   sql  Ljava/lang/String;
            0    2     2  args  [Ljava/lang/Object;
            0    2     3   rch  Lorg/springframework/jdbc/core/RowCallbackHandler;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
      Name  Flags
      sql   
      args  
      rch   

  public void query(java.lang.String, org.springframework.jdbc.core.RowCallbackHandler, java.lang.Object[]);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/RowCallbackHandler;[Ljava/lang/Object;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.RowCallbackHandler rch
        start local 3 // java.lang.Object[] args
         0: .line 789
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 3 /* args */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.newArgPreparedStatementSetter:([Ljava/lang/Object;)Lorg/springframework/jdbc/core/PreparedStatementSetter;
            aload 2 /* rch */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowCallbackHandler;)V
         1: .line 790
            return
        end local 3 // java.lang.Object[] args
        end local 2 // org.springframework.jdbc.core.RowCallbackHandler rch
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1   sql  Ljava/lang/String;
            0    2     2   rch  Lorg/springframework/jdbc/core/RowCallbackHandler;
            0    2     3  args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      sql   
      rch   
      args  

  public <T> java.util.List<T> query(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 794
            aload 0 /* this */
            aload 1 /* psc */
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 2 /* rowMapper */
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast java.util.List
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    1     2  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/RowMapper<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
           Name  Flags
      psc        
      rowMapper  

  public <T> java.util.List<T> query(java.lang.String, org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        start local 3 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 799
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* pss */
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 3 /* rowMapper */
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast java.util.List
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 3 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        sql  Ljava/lang/String;
            0    1     2        pss  Lorg/springframework/jdbc/core/PreparedStatementSetter;
            0    1     3  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper<TT;>;)Ljava/util/List<TT;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
           Name  Flags
      sql        
      pss        
      rowMapper  

  public <T> java.util.List<T> query(java.lang.String, [], int[], org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
        start local 4 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 804
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 3 /* argTypes */
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 4 /* rowMapper */
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast java.util.List
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 4 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        sql  Ljava/lang/String;
            0    1     2       args  [Ljava/lang/Object;
            0    1     3   argTypes  [I
            0    1     4  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/RowMapper<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
           Name  Flags
      sql        
      args       
      argTypes   
      rowMapper  

  public <T> java.util.List<T> query(java.lang.String, [], org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 810
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 3 /* rowMapper */
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast java.util.List
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 3 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        sql  Ljava/lang/String;
            0    1     2       args  [Ljava/lang/Object;
            0    1     3  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper<TT;>;)Ljava/util/List<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
           Name  Flags
      sql        
      args       
      rowMapper  

  public <T> java.util.List<T> query(java.lang.String, org.springframework.jdbc.core.RowMapper<T>, []);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;[Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        start local 3 // java.lang.Object[] args
         0: .line 815
            aload 0 /* this */
            aload 1 /* sql */
            aload 3 /* args */
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 2 /* rowMapper */
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast java.util.List
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        sql  Ljava/lang/String;
            0    1     2  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
            0    1     3       args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper<TT;>;[Ljava/lang/Object;)Ljava/util/List<TT;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      sql        
      rowMapper  
      args       

  public <T> java.util.stream.Stream<T> queryForStream(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        start local 3 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 834
            aload 0 /* this */
            aload 1 /* psc */
            aload 0 /* this */
            aload 2 /* pss */
            aload 3 /* rowMapper */
            invokedynamic doInPreparedStatement(Lorg/springframework/jdbc/core/JdbcTemplate;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper;)Lorg/springframework/jdbc/core/PreparedStatementCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/sql/PreparedStatement;)Ljava/lang/Object;
                  org/springframework/jdbc/core/JdbcTemplate.lambda$0(Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper;Ljava/sql/PreparedStatement;)Ljava/util/stream/Stream; (7)
                  (Ljava/sql/PreparedStatement;)Ljava/util/stream/Stream;
         1: .line 848
            iconst_0
         2: .line 834
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;Z)Ljava/lang/Object;
            checkcast java.util.stream.Stream
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.stream.Stream
            areturn
        end local 3 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    3     1        psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    3     2        pss  Lorg/springframework/jdbc/core/PreparedStatementSetter;
            0    3     3  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper<TT;>;)Ljava/util/stream/Stream<TT;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
           Name  Flags
      psc        
      pss        
      rowMapper  

  public <T> java.util.stream.Stream<T> queryForStream(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 853
            aload 0 /* this */
            aload 1 /* psc */
            aconst_null
            aload 2 /* rowMapper */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForStream:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/stream/Stream;
            areturn
        end local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    1     2  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/RowMapper<TT;>;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
           Name  Flags
      psc        
      rowMapper  

  public <T> java.util.stream.Stream<T> queryForStream(java.lang.String, org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        start local 3 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 858
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator
            dup
            aload 1 /* sql */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.<init>:(Ljava/lang/String;)V
            aload 2 /* pss */
            aload 3 /* rowMapper */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForStream:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/stream/Stream;
            areturn
        end local 3 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        sql  Ljava/lang/String;
            0    1     2        pss  Lorg/springframework/jdbc/core/PreparedStatementSetter;
            0    1     3  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper<TT;>;)Ljava/util/stream/Stream<TT;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
           Name  Flags
      sql        
      pss        
      rowMapper  

  public <T> java.util.stream.Stream<T> queryForStream(java.lang.String, org.springframework.jdbc.core.RowMapper<T>, []);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;[Ljava/lang/Object;)Ljava/util/stream/Stream;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        start local 3 // java.lang.Object[] args
         0: .line 863
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator
            dup
            aload 1 /* sql */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 3 /* args */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.newArgPreparedStatementSetter:([Ljava/lang/Object;)Lorg/springframework/jdbc/core/PreparedStatementSetter;
            aload 2 /* rowMapper */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForStream:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/stream/Stream;
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        sql  Ljava/lang/String;
            0    1     2  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
            0    1     3       args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper<TT;>;[Ljava/lang/Object;)Ljava/util/stream/Stream<TT;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      sql        
      rowMapper  
      args       

  public <T> T queryForObject(java.lang.String, [], int[], org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
        start local 4 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 871
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 3 /* argTypes */
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 4 /* rowMapper */
            iconst_1
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;I)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast java.util.List
            astore 5 /* results */
        start local 5 // java.util.List results
         1: .line 872
            aload 5 /* results */
            invokestatic org.springframework.dao.support.DataAccessUtils.nullableSingleResult:(Ljava/util/Collection;)Ljava/lang/Object;
            areturn
        end local 5 // java.util.List results
        end local 4 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1        sql  Ljava/lang/String;
            0    2     2       args  [Ljava/lang/Object;
            0    2     3   argTypes  [I
            0    2     4  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
            1    2     5    results  Ljava/util/List<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/RowMapper<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      sql        
      args       
      argTypes   
      rowMapper  

  public <T> T queryForObject(java.lang.String, [], org.springframework.jdbc.core.RowMapper<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // org.springframework.jdbc.core.RowMapper rowMapper
         0: .line 879
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 3 /* rowMapper */
            iconst_1
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;I)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* results */
        start local 4 // java.util.List results
         1: .line 880
            aload 4 /* results */
            invokestatic org.springframework.dao.support.DataAccessUtils.nullableSingleResult:(Ljava/util/Collection;)Ljava/lang/Object;
            areturn
        end local 4 // java.util.List results
        end local 3 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1        sql  Ljava/lang/String;
            0    2     2       args  [Ljava/lang/Object;
            0    2     3  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
            1    2     4    results  Ljava/util/List<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
           Name  Flags
      sql        
      args       
      rowMapper  

  public <T> T queryForObject(java.lang.String, org.springframework.jdbc.core.RowMapper<T>, []);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        start local 3 // java.lang.Object[] args
         0: .line 886
            aload 0 /* this */
            aload 1 /* sql */
            aload 3 /* args */
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 2 /* rowMapper */
            iconst_1
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;I)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* results */
        start local 4 // java.util.List results
         1: .line 887
            aload 4 /* results */
            invokestatic org.springframework.dao.support.DataAccessUtils.nullableSingleResult:(Ljava/util/Collection;)Ljava/lang/Object;
            areturn
        end local 4 // java.util.List results
        end local 3 // java.lang.Object[] args
        end local 2 // org.springframework.jdbc.core.RowMapper rowMapper
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1        sql  Ljava/lang/String;
            0    2     2  rowMapper  Lorg/springframework/jdbc/core/RowMapper<TT;>;
            0    2     3       args  [Ljava/lang/Object;
            1    2     4    results  Ljava/util/List<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper<TT;>;[Ljava/lang/Object;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      sql        
      rowMapper  
      args       

  public <T> T queryForObject(java.lang.String, [], int[], java.lang.Class<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[ILjava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
        start local 4 // java.lang.Class requiredType
         0: .line 895
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 3 /* argTypes */
            aload 0 /* this */
            aload 4 /* requiredType */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getSingleColumnRowMapper:(Ljava/lang/Class;)Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForObject:(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Class requiredType
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1           sql  Ljava/lang/String;
            0    1     2          args  [Ljava/lang/Object;
            0    1     3      argTypes  [I
            0    1     4  requiredType  Ljava/lang/Class<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;[ILjava/lang/Class<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      sql           
      args          
      argTypes      
      requiredType  

  public <T> T queryForObject(java.lang.String, [], java.lang.Class<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // java.lang.Class requiredType
         0: .line 901
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 0 /* this */
            aload 3 /* requiredType */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getSingleColumnRowMapper:(Ljava/lang/Class;)Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForObject:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Class requiredType
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1           sql  Ljava/lang/String;
            0    1     2          args  [Ljava/lang/Object;
            0    1     3  requiredType  Ljava/lang/Class<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Class<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
              Name  Flags
      sql           
      args          
      requiredType  

  public <T> T queryForObject(java.lang.String, java.lang.Class<T>, []);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Class requiredType
        start local 3 // java.lang.Object[] args
         0: .line 906
            aload 0 /* this */
            aload 1 /* sql */
            aload 3 /* args */
            aload 0 /* this */
            aload 2 /* requiredType */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getSingleColumnRowMapper:(Ljava/lang/Class;)Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForObject:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.Class requiredType
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1           sql  Ljava/lang/String;
            0    1     2  requiredType  Ljava/lang/Class<TT;>;
            0    1     3          args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;[Ljava/lang/Object;)TT;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      sql           
      requiredType  
      args          

  public java.util.Map<java.lang.String, java.lang.Object> queryForMap(java.lang.String, [], int[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[I)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
         0: .line 911
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 3 /* argTypes */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getColumnMapRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForObject:(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
            checkcast java.util.Map
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            areturn
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1       sql  Ljava/lang/String;
            0    1     2      args  [Ljava/lang/Object;
            0    1     3  argTypes  [I
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: (Ljava/lang/String;[Ljava/lang/Object;[I)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
          Name  Flags
      sql       
      args      
      argTypes  

  public java.util.Map<java.lang.String, java.lang.Object> queryForMap(java.lang.String, []);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
         0: .line 916
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getColumnMapRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.queryForObject:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper;)Ljava/lang/Object;
            checkcast java.util.Map
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
            0    1     2  args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      sql   
      args  

  public <T> java.util.List<T> queryForList(java.lang.String, [], int[], java.lang.Class<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[ILjava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
        start local 4 // java.lang.Class elementType
         0: .line 921
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 3 /* argTypes */
            aload 0 /* this */
            aload 4 /* elementType */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getSingleColumnRowMapper:(Ljava/lang/Class;)Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
            areturn
        end local 4 // java.lang.Class elementType
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1          sql  Ljava/lang/String;
            0    1     2         args  [Ljava/lang/Object;
            0    1     3     argTypes  [I
            0    1     4  elementType  Ljava/lang/Class<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;[ILjava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
             Name  Flags
      sql          
      args         
      argTypes     
      elementType  

  public <T> java.util.List<T> queryForList(java.lang.String, [], java.lang.Class<T>);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // java.lang.Class elementType
         0: .line 927
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 0 /* this */
            aload 3 /* elementType */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getSingleColumnRowMapper:(Ljava/lang/Class;)Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
            areturn
        end local 3 // java.lang.Class elementType
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1          sql  Ljava/lang/String;
            0    1     2         args  [Ljava/lang/Object;
            0    1     3  elementType  Ljava/lang/Class<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
             Name  Flags
      sql          
      args         
      elementType  

  public <T> java.util.List<T> queryForList(java.lang.String, java.lang.Class<T>, []);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Class elementType
        start local 3 // java.lang.Object[] args
         0: .line 932
            aload 0 /* this */
            aload 1 /* sql */
            aload 3 /* args */
            aload 0 /* this */
            aload 2 /* elementType */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getSingleColumnRowMapper:(Ljava/lang/Class;)Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.Class elementType
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1          sql  Ljava/lang/String;
            0    1     2  elementType  Ljava/lang/Class<TT;>;
            0    1     3         args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;[Ljava/lang/Object;)Ljava/util/List<TT;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      sql          
      elementType  
      args         

  public java.util.List<java.util.Map<java.lang.String, java.lang.Object>> queryForList(java.lang.String, [], int[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[I)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
         0: .line 937
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 3 /* argTypes */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getColumnMapRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
            areturn
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1       sql  Ljava/lang/String;
            0    1     2      args  [Ljava/lang/Object;
            0    1     3  argTypes  [I
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: (Ljava/lang/String;[Ljava/lang/Object;[I)Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
    MethodParameters:
          Name  Flags
      sql       
      args      
      argTypes  

  public java.util.List<java.util.Map<java.lang.String, java.lang.Object>> queryForList(java.lang.String, []);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
         0: .line 942
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getColumnMapRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/RowMapper;)Ljava/util/List;
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
            0    1     2  args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      sql   
      args  

  public org.springframework.jdbc.support.rowset.SqlRowSet queryForRowSet(java.lang.String, java.lang.Object[], int[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[I)Lorg/springframework/jdbc/support/rowset/SqlRowSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
         0: .line 947
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            aload 3 /* argTypes */
            new org.springframework.jdbc.core.SqlRowSetResultSetExtractor
            dup
            invokespecial org.springframework.jdbc.core.SqlRowSetResultSetExtractor.<init>:()V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;[ILorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast org.springframework.jdbc.support.rowset.SqlRowSet
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.jdbc.support.rowset.SqlRowSet
            areturn
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1       sql  Ljava/lang/String;
            0    1     2      args  [Ljava/lang/Object;
            0    1     3  argTypes  [I
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
          Name  Flags
      sql       
      args      
      argTypes  

  public org.springframework.jdbc.support.rowset.SqlRowSet queryForRowSet(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Lorg/springframework/jdbc/support/rowset/SqlRowSet;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
         0: .line 952
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* args */
            new org.springframework.jdbc.core.SqlRowSetResultSetExtractor
            dup
            invokespecial org.springframework.jdbc.core.SqlRowSetResultSetExtractor.<init>:()V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.query:(Ljava/lang/String;[Ljava/lang/Object;Lorg/springframework/jdbc/core/ResultSetExtractor;)Ljava/lang/Object;
            checkcast org.springframework.jdbc.support.rowset.SqlRowSet
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.jdbc.support.rowset.SqlRowSet
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
            0    1     2  args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      sql   
      args  

  protected int update(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.core.PreparedStatementSetter);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
         0: .line 958
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            ldc "Executing prepared SQL update"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         1: .line 960
            aload 0 /* this */
            aload 1 /* psc */
            aload 0 /* this */
            aload 2 /* pss */
            invokedynamic doInPreparedStatement(Lorg/springframework/jdbc/core/JdbcTemplate;Lorg/springframework/jdbc/core/PreparedStatementSetter;)Lorg/springframework/jdbc/core/PreparedStatementCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/sql/PreparedStatement;)Ljava/lang/Object;
                  org/springframework/jdbc/core/JdbcTemplate.lambda$2(Lorg/springframework/jdbc/core/PreparedStatementSetter;Ljava/sql/PreparedStatement;)Ljava/lang/Integer; (7)
                  (Ljava/sql/PreparedStatement;)Ljava/lang/Integer;
         2: .line 976
            iconst_1
         3: .line 960
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;Z)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokestatic org.springframework.jdbc.core.JdbcTemplate.updateCount:(Ljava/lang/Integer;)I
            ireturn
        end local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    4     1   psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    4     2   pss  Lorg/springframework/jdbc/core/PreparedStatementSetter;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      psc   final
      pss   final

  public int update(org.springframework.jdbc.core.PreparedStatementCreator);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
         0: .line 981
            aload 0 /* this */
            aload 1 /* psc */
            aconst_null
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.update:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;)I
            ireturn
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
      Name  Flags
      psc   

  public int update(org.springframework.jdbc.core.PreparedStatementCreator, org.springframework.jdbc.support.KeyHolder);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/support/KeyHolder;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        start local 2 // org.springframework.jdbc.support.KeyHolder generatedKeyHolder
         0: .line 988
            aload 2 /* generatedKeyHolder */
            ldc "KeyHolder must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 989
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            ldc "Executing SQL update and returning generated keys"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 991
            aload 0 /* this */
            aload 1 /* psc */
            aload 0 /* this */
            aload 2 /* generatedKeyHolder */
            invokedynamic doInPreparedStatement(Lorg/springframework/jdbc/core/JdbcTemplate;Lorg/springframework/jdbc/support/KeyHolder;)Lorg/springframework/jdbc/core/PreparedStatementCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/sql/PreparedStatement;)Ljava/lang/Object;
                  org/springframework/jdbc/core/JdbcTemplate.lambda$3(Lorg/springframework/jdbc/support/KeyHolder;Ljava/sql/PreparedStatement;)Ljava/lang/Integer; (7)
                  (Ljava/sql/PreparedStatement;)Ljava/lang/Integer;
         3: .line 1010
            iconst_1
         4: .line 991
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;Z)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokestatic org.springframework.jdbc.core.JdbcTemplate.updateCount:(Ljava/lang/Integer;)I
            ireturn
        end local 2 // org.springframework.jdbc.support.KeyHolder generatedKeyHolder
        end local 1 // org.springframework.jdbc.core.PreparedStatementCreator psc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    5     1                 psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    5     2  generatedKeyHolder  Lorg/springframework/jdbc/support/KeyHolder;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
                    Name  Flags
      psc                 final
      generatedKeyHolder  final

  public int update(java.lang.String, org.springframework.jdbc.core.PreparedStatementSetter);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
         0: .line 1015
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator
            dup
            aload 1 /* sql */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.<init>:(Ljava/lang/String;)V
            aload 2 /* pss */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.update:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementSetter;)I
            ireturn
        end local 2 // org.springframework.jdbc.core.PreparedStatementSetter pss
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
            0    1     2   pss  Lorg/springframework/jdbc/core/PreparedStatementSetter;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      sql   
      pss   

  public int update(java.lang.String, java.lang.Object[], int[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;[I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
        start local 3 // int[] argTypes
         0: .line 1020
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 2 /* args */
            aload 3 /* argTypes */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.newArgTypePreparedStatementSetter:([Ljava/lang/Object;[I)Lorg/springframework/jdbc/core/PreparedStatementSetter;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.update:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;)I
            ireturn
        end local 3 // int[] argTypes
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1       sql  Ljava/lang/String;
            0    1     2      args  [Ljava/lang/Object;
            0    1     3  argTypes  [I
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
          Name  Flags
      sql       
      args      
      argTypes  

  public int update(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)I
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
         0: .line 1025
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 2 /* args */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.newArgPreparedStatementSetter:([Ljava/lang/Object;)Lorg/springframework/jdbc/core/PreparedStatementSetter;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.update:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementSetter;)I
            ireturn
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1   sql  Ljava/lang/String;
            0    1     2  args  [Ljava/lang/Object;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      sql   
      args  

  public int[] batchUpdate(java.lang.String, org.springframework.jdbc.core.BatchPreparedStatementSetter);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/BatchPreparedStatementSetter;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // org.springframework.jdbc.core.BatchPreparedStatementSetter pss
         0: .line 1030
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 1031
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Executing SQL batch update ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 1034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* pss */
            invokedynamic doInPreparedStatement(Lorg/springframework/jdbc/core/BatchPreparedStatementSetter;)Lorg/springframework/jdbc/core/PreparedStatementCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/sql/PreparedStatement;)Ljava/lang/Object;
                  org/springframework/jdbc/core/JdbcTemplate.lambda$4(Lorg/springframework/jdbc/core/BatchPreparedStatementSetter;Ljava/sql/PreparedStatement;)[I (6)
                  (Ljava/sql/PreparedStatement;)[I
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementCallback;)Ljava/lang/Object;
            checkcast int[]
            astore 3 /* result */
        start local 3 // int[] result
         3: .line 1073
            aload 3 /* result */
            ifnull 4
            iconst_1
            goto 5
      StackMap locals: int[]
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: ldc "No result array"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         6: .line 1074
            aload 3 /* result */
            areturn
        end local 3 // int[] result
        end local 2 // org.springframework.jdbc.core.BatchPreparedStatementSetter pss
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    7     1     sql  Ljava/lang/String;
            0    7     2     pss  Lorg/springframework/jdbc/core/BatchPreparedStatementSetter;
            3    7     3  result  [I
    Exceptions:
      throws org.springframework.dao.DataAccessException
    MethodParameters:
      Name  Flags
      sql   
      pss   final

  public int[] batchUpdate(java.lang.String, java.util.List<java.lang.Object[]>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.util.List batchArgs
         0: .line 1079
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* batchArgs */
            iconst_0
            newarray 10
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.batchUpdate:(Ljava/lang/String;Ljava/util/List;[I)[I
            areturn
        end local 2 // java.util.List batchArgs
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1        sql  Ljava/lang/String;
            0    1     2  batchArgs  Ljava/util/List<[Ljava/lang/Object;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: (Ljava/lang/String;Ljava/util/List<[Ljava/lang/Object;>;)[I
    MethodParameters:
           Name  Flags
      sql        
      batchArgs  

  public int[] batchUpdate(java.lang.String, java.util.List<java.lang.Object[]>, );
    descriptor: (Ljava/lang/String;Ljava/util/List;[I)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.util.List batchArgs
        start local 3 // int[] argTypes
         0: .line 1084
            aload 2 /* batchArgs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 1085
            iconst_0
            newarray 10
            areturn
         2: .line 1088
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 1089
            aload 1 /* sql */
         4: .line 1090
            new org.springframework.jdbc.core.JdbcTemplate$2
            dup
            aload 0 /* this */
            aload 2 /* batchArgs */
            aload 3 /* argTypes */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$2.<init>:(Lorg/springframework/jdbc/core/JdbcTemplate;Ljava/util/List;[I)V
         5: .line 1088
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.batchUpdate:(Ljava/lang/String;Lorg/springframework/jdbc/core/BatchPreparedStatementSetter;)[I
            areturn
        end local 3 // int[] argTypes
        end local 2 // java.util.List batchArgs
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    6     1        sql  Ljava/lang/String;
            0    6     2  batchArgs  Ljava/util/List<[Ljava/lang/Object;>;
            0    6     3   argTypes  [I
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: (Ljava/lang/String;Ljava/util/List<[Ljava/lang/Object;>;[I)[I
    MethodParameters:
           Name  Flags
      sql        
      batchArgs  
      argTypes   final

  public <T> int[][] batchUpdate(java.lang.String, java.util.Collection<T>, int, org.springframework.jdbc.core.ParameterizedPreparedStatementSetter<T>);
    descriptor: (Ljava/lang/String;Ljava/util/Collection;ILorg/springframework/jdbc/core/ParameterizedPreparedStatementSetter;)[[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String sql
        start local 2 // java.util.Collection batchArgs
        start local 3 // int batchSize
        start local 4 // org.springframework.jdbc.core.ParameterizedPreparedStatementSetter pss
         0: .line 1124
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 1125
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Executing SQL batch update ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] with a batch size of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* batchSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 1127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 0 /* this */
            aload 4 /* pss */
            aload 2 /* batchArgs */
            iload 3 /* batchSize */
            invokedynamic doInPreparedStatement(Lorg/springframework/jdbc/core/JdbcTemplate;Lorg/springframework/jdbc/core/ParameterizedPreparedStatementSetter;Ljava/util/Collection;I)Lorg/springframework/jdbc/core/PreparedStatementCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/sql/PreparedStatement;)Ljava/lang/Object;
                  org/springframework/jdbc/core/JdbcTemplate.lambda$5(Lorg/springframework/jdbc/core/ParameterizedPreparedStatementSetter;Ljava/util/Collection;ILjava/sql/PreparedStatement;)[[I (7)
                  (Ljava/sql/PreparedStatement;)[[I
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Ljava/lang/String;Lorg/springframework/jdbc/core/PreparedStatementCallback;)Ljava/lang/Object;
            checkcast int[][]
            astore 5 /* result */
        start local 5 // int[][] result
         3: .line 1164
            aload 5 /* result */
            ifnull 4
            iconst_1
            goto 5
      StackMap locals: int[][]
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: ldc "No result array"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         6: .line 1165
            aload 5 /* result */
            areturn
        end local 5 // int[][] result
        end local 4 // org.springframework.jdbc.core.ParameterizedPreparedStatementSetter pss
        end local 3 // int batchSize
        end local 2 // java.util.Collection batchArgs
        end local 1 // java.lang.String sql
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    7     1        sql  Ljava/lang/String;
            0    7     2  batchArgs  Ljava/util/Collection<TT;>;
            0    7     3  batchSize  I
            0    7     4        pss  Lorg/springframework/jdbc/core/ParameterizedPreparedStatementSetter<TT;>;
            3    7     5     result  [[I
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/util/Collection<TT;>;ILorg/springframework/jdbc/core/ParameterizedPreparedStatementSetter<TT;>;)[[I
    MethodParameters:
           Name  Flags
      sql        
      batchArgs  final
      batchSize  final
      pss        final

  public <T> T execute(org.springframework.jdbc.core.CallableStatementCreator, org.springframework.jdbc.core.CallableStatementCallback<T>);
    descriptor: (Lorg/springframework/jdbc/core/CallableStatementCreator;Lorg/springframework/jdbc/core/CallableStatementCallback;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.CallableStatementCreator csc
        start local 2 // org.springframework.jdbc.core.CallableStatementCallback action
         0: .line 1178
            aload 1 /* csc */
            ldc "CallableStatementCreator must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 1179
            aload 2 /* action */
            ldc "Callback object must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 1180
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 7
         3: .line 1181
            aload 1 /* csc */
            invokestatic org.springframework.jdbc.core.JdbcTemplate.getSql:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* sql */
        start local 3 // java.lang.String sql
         4: .line 1182
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Calling stored procedure"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* sql */
            ifnull 5
            new java.lang.StringBuilder
            dup
            ldc " ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 6
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator org.springframework.jdbc.core.CallableStatementCallback java.lang.String
      StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder
         5: ldc ""
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator org.springframework.jdbc.core.CallableStatementCallback java.lang.String
      StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder java.lang.String
         6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        end local 3 // java.lang.String sql
         7: .line 1185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.obtainDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.getConnection:(Ljavax/sql/DataSource;)Ljava/sql/Connection;
            astore 3 /* con */
        start local 3 // java.sql.Connection con
         8: .line 1186
            aconst_null
            astore 4 /* cs */
        start local 4 // java.sql.CallableStatement cs
         9: .line 1188
            aload 1 /* csc */
            aload 3 /* con */
            invokeinterface org.springframework.jdbc.core.CallableStatementCreator.createCallableStatement:(Ljava/sql/Connection;)Ljava/sql/CallableStatement;
            astore 4 /* cs */
        10: .line 1189
            aload 0 /* this */
            aload 4 /* cs */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.applyStatementSettings:(Ljava/sql/Statement;)V
        11: .line 1190
            aload 2 /* action */
            aload 4 /* cs */
            invokeinterface org.springframework.jdbc.core.CallableStatementCallback.doInCallableStatement:(Ljava/sql/CallableStatement;)Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
        12: .line 1191
            aload 0 /* this */
            aload 4 /* cs */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.handleWarnings:(Ljava/sql/Statement;)V
        13: .line 1192
            aload 5 /* result */
            astore 8
        14: .line 1209
            aload 1 /* csc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 16
        15: .line 1210
            aload 1 /* csc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        16: .line 1212
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator org.springframework.jdbc.core.CallableStatementCallback java.sql.Connection java.sql.CallableStatement java.lang.Object top top java.lang.Object
      StackMap stack:
            aload 4 /* cs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        17: .line 1213
            aload 3 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        18: .line 1192
            aload 8
            areturn
        end local 5 // java.lang.Object result
        19: .line 1194
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator org.springframework.jdbc.core.CallableStatementCallback java.sql.Connection java.sql.CallableStatement
      StackMap stack: java.sql.SQLException
            astore 5 /* ex */
        start local 5 // java.sql.SQLException ex
        20: .line 1197
            aload 1 /* csc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 22
        21: .line 1198
            aload 1 /* csc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        22: .line 1200
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 1 /* csc */
            invokestatic org.springframework.jdbc.core.JdbcTemplate.getSql:(Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* sql */
        start local 6 // java.lang.String sql
        23: .line 1201
            aconst_null
            astore 1 /* csc */
        24: .line 1202
            aload 4 /* cs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        25: .line 1203
            aconst_null
            astore 4 /* cs */
        26: .line 1204
            aload 3 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        27: .line 1205
            aconst_null
            astore 3 /* con */
        28: .line 1206
            aload 0 /* this */
            ldc "CallableStatementCallback"
            aload 6 /* sql */
            aload 5 /* ex */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.translateException:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
            athrow
        end local 6 // java.lang.String sql
        end local 5 // java.sql.SQLException ex
        29: .line 1208
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator org.springframework.jdbc.core.CallableStatementCallback java.sql.Connection java.sql.CallableStatement
      StackMap stack: java.lang.Throwable
            astore 7
        30: .line 1209
            aload 1 /* csc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 32
        31: .line 1210
            aload 1 /* csc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        32: .line 1212
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator org.springframework.jdbc.core.CallableStatementCallback java.sql.Connection java.sql.CallableStatement top top java.lang.Throwable
      StackMap stack:
            aload 4 /* cs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        33: .line 1213
            aload 3 /* con */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
        34: .line 1214
            aload 7
            athrow
        end local 4 // java.sql.CallableStatement cs
        end local 3 // java.sql.Connection con
        end local 2 // org.springframework.jdbc.core.CallableStatementCallback action
        end local 1 // org.springframework.jdbc.core.CallableStatementCreator csc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   35     0    this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   35     1     csc  Lorg/springframework/jdbc/core/CallableStatementCreator;
            0   35     2  action  Lorg/springframework/jdbc/core/CallableStatementCallback<TT;>;
            4    7     3     sql  Ljava/lang/String;
            8   35     3     con  Ljava/sql/Connection;
            9   35     4      cs  Ljava/sql/CallableStatement;
           12   19     5  result  TT;
           20   29     5      ex  Ljava/sql/SQLException;
           23   29     6     sql  Ljava/lang/String;
      Exception table:
        from    to  target  type
           9    14      19  Class java.sql.SQLException
           9    14      29  any
          19    29      29  any
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/jdbc/core/CallableStatementCreator;Lorg/springframework/jdbc/core/CallableStatementCallback<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      csc     
      action  

  public <T> T execute(java.lang.String, org.springframework.jdbc.core.CallableStatementCallback<T>);
    descriptor: (Ljava/lang/String;Lorg/springframework/jdbc/core/CallableStatementCallback;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String callString
        start local 2 // org.springframework.jdbc.core.CallableStatementCallback action
         0: .line 1220
            aload 0 /* this */
            new org.springframework.jdbc.core.JdbcTemplate$SimpleCallableStatementCreator
            dup
            aload 1 /* callString */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$SimpleCallableStatementCreator.<init>:(Ljava/lang/String;)V
            aload 2 /* action */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/CallableStatementCreator;Lorg/springframework/jdbc/core/CallableStatementCallback;)Ljava/lang/Object;
            areturn
        end local 2 // org.springframework.jdbc.core.CallableStatementCallback action
        end local 1 // java.lang.String callString
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1  callString  Ljava/lang/String;
            0    1     2      action  Lorg/springframework/jdbc/core/CallableStatementCallback<TT;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/springframework/jdbc/core/CallableStatementCallback<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      callString  
      action      

  public java.util.Map<java.lang.String, java.lang.Object> call(org.springframework.jdbc.core.CallableStatementCreator, java.util.List<org.springframework.jdbc.core.SqlParameter>);
    descriptor: (Lorg/springframework/jdbc/core/CallableStatementCreator;Ljava/util/List;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.CallableStatementCreator csc
        start local 2 // java.util.List declaredParameters
         0: .line 1227
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* updateCountParameters */
        start local 3 // java.util.List updateCountParameters
         1: .line 1228
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* resultSetParameters */
        start local 4 // java.util.List resultSetParameters
         2: .line 1229
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* callParameters */
        start local 5 // java.util.List callParameters
         3: .line 1231
            aload 2 /* declaredParameters */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator java.util.List java.util.List java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.jdbc.core.SqlParameter
            astore 6 /* parameter */
        start local 6 // org.springframework.jdbc.core.SqlParameter parameter
         5: .line 1232
            aload 6 /* parameter */
            invokevirtual org.springframework.jdbc.core.SqlParameter.isResultsParameter:()Z
            ifeq 11
         6: .line 1233
            aload 6 /* parameter */
            instanceof org.springframework.jdbc.core.SqlReturnResultSet
            ifeq 9
         7: .line 1234
            aload 4 /* resultSetParameters */
            aload 6 /* parameter */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1235
            goto 12
         9: .line 1237
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator java.util.List java.util.List java.util.List java.util.List org.springframework.jdbc.core.SqlParameter java.util.Iterator
      StackMap stack:
            aload 3 /* updateCountParameters */
            aload 6 /* parameter */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1239
            goto 12
        11: .line 1241
      StackMap locals:
      StackMap stack:
            aload 5 /* callParameters */
            aload 6 /* parameter */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.springframework.jdbc.core.SqlParameter parameter
        12: .line 1231
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator java.util.List java.util.List java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 1245
            aload 0 /* this */
            aload 1 /* csc */
            aload 0 /* this */
            aload 3 /* updateCountParameters */
            aload 4 /* resultSetParameters */
            aload 5 /* callParameters */
            invokedynamic doInCallableStatement(Lorg/springframework/jdbc/core/JdbcTemplate;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Lorg/springframework/jdbc/core/CallableStatementCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/sql/CallableStatement;)Ljava/lang/Object;
                  org/springframework/jdbc/core/JdbcTemplate.lambda$6(Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/sql/CallableStatement;)Ljava/util/Map; (7)
                  (Ljava/sql/CallableStatement;)Ljava/util/Map;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/CallableStatementCreator;Lorg/springframework/jdbc/core/CallableStatementCallback;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 6 /* result */
        start local 6 // java.util.Map result
        14: .line 1260
            aload 6 /* result */
            ifnull 15
            iconst_1
            goto 16
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.CallableStatementCreator java.util.List java.util.List java.util.List java.util.List java.util.Map
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: ldc "No result map"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
        17: .line 1261
            aload 6 /* result */
            areturn
        end local 6 // java.util.Map result
        end local 5 // java.util.List callParameters
        end local 4 // java.util.List resultSetParameters
        end local 3 // java.util.List updateCountParameters
        end local 2 // java.util.List declaredParameters
        end local 1 // org.springframework.jdbc.core.CallableStatementCreator csc
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0                   this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   18     1                    csc  Lorg/springframework/jdbc/core/CallableStatementCreator;
            0   18     2     declaredParameters  Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;
            1   18     3  updateCountParameters  Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;
            2   18     4    resultSetParameters  Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;
            3   18     5         callParameters  Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;
            5   12     6              parameter  Lorg/springframework/jdbc/core/SqlParameter;
           14   18     6                 result  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Exceptions:
      throws org.springframework.dao.DataAccessException
    Signature: (Lorg/springframework/jdbc/core/CallableStatementCreator;Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
                    Name  Flags
      csc                 
      declaredParameters  

  protected java.util.Map<java.lang.String, java.lang.Object> extractReturnedResults(java.sql.CallableStatement, java.util.List<org.springframework.jdbc.core.SqlParameter>, java.util.List<org.springframework.jdbc.core.SqlParameter>, int);
    descriptor: (Ljava/sql/CallableStatement;Ljava/util/List;Ljava/util/List;I)Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.sql.CallableStatement cs
        start local 2 // java.util.List updateCountParameters
        start local 3 // java.util.List resultSetParameters
        start local 4 // int updateCount
         0: .line 1275
            new java.util.LinkedHashMap
            dup
            iconst_4
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            astore 5 /* results */
        start local 5 // java.util.Map results
         1: .line 1276
            iconst_0
            istore 6 /* rsIndex */
        start local 6 // int rsIndex
         2: .line 1277
            iconst_0
            istore 7 /* updateIndex */
        start local 7 // int updateIndex
         3: .line 1279
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
            ifne 35
         4: .line 1281
      StackMap locals: java.util.Map int int
      StackMap stack:
            iload 4 /* updateCount */
            iconst_m1
            if_icmpne 18
         5: .line 1282
            aload 3 /* resultSetParameters */
            ifnull 10
            aload 3 /* resultSetParameters */
            invokeinterface java.util.List.size:()I
            iload 6 /* rsIndex */
            if_icmple 10
         6: .line 1283
            aload 3 /* resultSetParameters */
            iload 6 /* rsIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.springframework.jdbc.core.SqlReturnResultSet
            astore 9 /* declaredRsParam */
        start local 9 // org.springframework.jdbc.core.SqlReturnResultSet declaredRsParam
         7: .line 1284
            aload 5 /* results */
            aload 0 /* this */
            aload 1 /* cs */
            invokeinterface java.sql.CallableStatement.getResultSet:()Ljava/sql/ResultSet;
            aload 9 /* declaredRsParam */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.processResultSet:(Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/ResultSetSupportingSqlParameter;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         8: .line 1285
            iinc 6 /* rsIndex */ 1
        end local 9 // org.springframework.jdbc.core.SqlReturnResultSet declaredRsParam
         9: .line 1286
            goto 30
        10: .line 1288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
            ifne 30
        11: .line 1289
            new java.lang.StringBuilder
            dup
            ldc "#result-set-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* rsIndex */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* rsName */
        start local 9 // java.lang.String rsName
        12: .line 1290
            new org.springframework.jdbc.core.SqlReturnResultSet
            dup
            aload 9 /* rsName */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getColumnMapRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            invokespecial org.springframework.jdbc.core.SqlReturnResultSet.<init>:(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)V
            astore 10 /* undeclaredRsParam */
        start local 10 // org.springframework.jdbc.core.SqlReturnResultSet undeclaredRsParam
        13: .line 1291
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 15
        14: .line 1292
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Added default SqlReturnResultSet parameter named '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* rsName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        15: .line 1294
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate java.sql.CallableStatement java.util.List java.util.List int java.util.Map int int top java.lang.String org.springframework.jdbc.core.SqlReturnResultSet
      StackMap stack:
            aload 5 /* results */
            aload 0 /* this */
            aload 1 /* cs */
            invokeinterface java.sql.CallableStatement.getResultSet:()Ljava/sql/ResultSet;
            aload 10 /* undeclaredRsParam */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.processResultSet:(Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/ResultSetSupportingSqlParameter;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        16: .line 1295
            iinc 6 /* rsIndex */ 1
        end local 10 // org.springframework.jdbc.core.SqlReturnResultSet undeclaredRsParam
        end local 9 // java.lang.String rsName
        17: .line 1298
            goto 30
        18: .line 1300
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate java.sql.CallableStatement java.util.List java.util.List int java.util.Map int int
      StackMap stack:
            aload 2 /* updateCountParameters */
            ifnull 24
            aload 2 /* updateCountParameters */
            invokeinterface java.util.List.size:()I
            iload 7 /* updateIndex */
            if_icmple 24
        19: .line 1301
            aload 2 /* updateCountParameters */
            iload 7 /* updateIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.springframework.jdbc.core.SqlReturnUpdateCount
            astore 9 /* ucParam */
        start local 9 // org.springframework.jdbc.core.SqlReturnUpdateCount ucParam
        20: .line 1302
            aload 9 /* ucParam */
            invokevirtual org.springframework.jdbc.core.SqlReturnUpdateCount.getName:()Ljava/lang/String;
            astore 10 /* declaredUcName */
        start local 10 // java.lang.String declaredUcName
        21: .line 1303
            aload 5 /* results */
            aload 10 /* declaredUcName */
            iload 4 /* updateCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 1304
            iinc 7 /* updateIndex */ 1
        end local 10 // java.lang.String declaredUcName
        end local 9 // org.springframework.jdbc.core.SqlReturnUpdateCount ucParam
        23: .line 1305
            goto 30
        24: .line 1307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
            ifne 30
        25: .line 1308
            new java.lang.StringBuilder
            dup
            ldc "#update-count-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* updateIndex */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* undeclaredName */
        start local 9 // java.lang.String undeclaredName
        26: .line 1309
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 28
        27: .line 1310
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Added default SqlReturnUpdateCount parameter named '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* undeclaredName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        28: .line 1312
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate java.sql.CallableStatement java.util.List java.util.List int java.util.Map int int top java.lang.String
      StackMap stack:
            aload 5 /* results */
            aload 9 /* undeclaredName */
            iload 4 /* updateCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 1313
            iinc 7 /* updateIndex */ 1
        end local 9 // java.lang.String undeclaredName
        30: .line 1317
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate java.sql.CallableStatement java.util.List java.util.List int java.util.Map int int
      StackMap stack:
            aload 1 /* cs */
            invokeinterface java.sql.CallableStatement.getMoreResults:()Z
            istore 8 /* moreResults */
        start local 8 // boolean moreResults
        31: .line 1318
            aload 1 /* cs */
            invokeinterface java.sql.CallableStatement.getUpdateCount:()I
            istore 4 /* updateCount */
        32: .line 1319
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 34
        33: .line 1320
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "CallableStatement.getUpdateCount() returned "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* updateCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        34: .line 1323
      StackMap locals: int
      StackMap stack:
            iload 8 /* moreResults */
            ifne 4
            iload 4 /* updateCount */
            iconst_m1
            if_icmpne 4
        end local 8 // boolean moreResults
        35: .line 1325
      StackMap locals:
      StackMap stack:
            aload 5 /* results */
            areturn
        end local 7 // int updateIndex
        end local 6 // int rsIndex
        end local 5 // java.util.Map results
        end local 4 // int updateCount
        end local 3 // java.util.List resultSetParameters
        end local 2 // java.util.List updateCountParameters
        end local 1 // java.sql.CallableStatement cs
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   36     0                   this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   36     1                     cs  Ljava/sql/CallableStatement;
            0   36     2  updateCountParameters  Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;
            0   36     3    resultSetParameters  Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;
            0   36     4            updateCount  I
            1   36     5                results  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            2   36     6                rsIndex  I
            3   36     7            updateIndex  I
           31   35     8            moreResults  Z
            7    9     9        declaredRsParam  Lorg/springframework/jdbc/core/SqlReturnResultSet;
           12   17     9                 rsName  Ljava/lang/String;
           13   17    10      undeclaredRsParam  Lorg/springframework/jdbc/core/SqlReturnResultSet;
           20   23     9                ucParam  Lorg/springframework/jdbc/core/SqlReturnUpdateCount;
           21   23    10         declaredUcName  Ljava/lang/String;
           26   30     9         undeclaredName  Ljava/lang/String;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/CallableStatement;Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;I)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
        org.springframework.lang.Nullable()
      3:
    MethodParameters:
                       Name  Flags
      cs                     
      updateCountParameters  
      resultSetParameters    
      updateCount            

  protected java.util.Map<java.lang.String, java.lang.Object> extractOutputParameters(java.sql.CallableStatement, java.util.List<org.springframework.jdbc.core.SqlParameter>);
    descriptor: (Ljava/sql/CallableStatement;Ljava/util/List;)Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.sql.CallableStatement cs
        start local 2 // java.util.List parameters
         0: .line 1337
            aload 2 /* parameters */
            invokeinterface java.util.List.size:()I
            invokestatic org.springframework.util.CollectionUtils.newLinkedHashMap:(I)Ljava/util/LinkedHashMap;
            astore 3 /* results */
        start local 3 // java.util.Map results
         1: .line 1338
            iconst_1
            istore 4 /* sqlColIndex */
        start local 4 // int sqlColIndex
         2: .line 1339
            aload 2 /* parameters */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 28
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate java.sql.CallableStatement java.util.List java.util.Map int top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.jdbc.core.SqlParameter
            astore 5 /* param */
        start local 5 // org.springframework.jdbc.core.SqlParameter param
         4: .line 1340
            aload 5 /* param */
            instanceof org.springframework.jdbc.core.SqlOutParameter
            ifeq 26
         5: .line 1341
            aload 5 /* param */
            checkcast org.springframework.jdbc.core.SqlOutParameter
            astore 7 /* outParam */
        start local 7 // org.springframework.jdbc.core.SqlOutParameter outParam
         6: .line 1342
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.SqlOutParameter.getName:()Ljava/lang/String;
            ifnull 7
            iconst_1
            goto 8
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate java.sql.CallableStatement java.util.List java.util.Map int org.springframework.jdbc.core.SqlParameter java.util.Iterator org.springframework.jdbc.core.SqlOutParameter
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: ldc "Anonymous parameters not allowed"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         9: .line 1343
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.SqlOutParameter.getSqlReturnType:()Lorg/springframework/jdbc/core/SqlReturnType;
            astore 8 /* returnType */
        start local 8 // org.springframework.jdbc.core.SqlReturnType returnType
        10: .line 1344
            aload 8 /* returnType */
            ifnull 14
        11: .line 1345
            aload 8 /* returnType */
            aload 1 /* cs */
            iload 4 /* sqlColIndex */
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.SqlOutParameter.getSqlType:()I
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.SqlOutParameter.getTypeName:()Ljava/lang/String;
            invokeinterface org.springframework.jdbc.core.SqlReturnType.getTypeValue:(Ljava/sql/CallableStatement;IILjava/lang/String;)Ljava/lang/Object;
            astore 9 /* out */
        start local 9 // java.lang.Object out
        12: .line 1346
            aload 3 /* results */
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.SqlOutParameter.getName:()Ljava/lang/String;
            aload 9 /* out */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.Object out
        13: .line 1347
            goto 26
        14: .line 1349
      StackMap locals: org.springframework.jdbc.core.SqlReturnType
      StackMap stack:
            aload 1 /* cs */
            iload 4 /* sqlColIndex */
            invokeinterface java.sql.CallableStatement.getObject:(I)Ljava/lang/Object;
            astore 9 /* out */
        start local 9 // java.lang.Object out
        15: .line 1350
            aload 9 /* out */
            instanceof java.sql.ResultSet
            ifeq 25
        16: .line 1351
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.SqlOutParameter.isResultSetSupported:()Z
            ifeq 19
        17: .line 1352
            aload 3 /* results */
            aload 0 /* this */
            aload 9 /* out */
            checkcast java.sql.ResultSet
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.processResultSet:(Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/ResultSetSupportingSqlParameter;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        18: .line 1353
            goto 26
        19: .line 1355
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.SqlOutParameter.getName:()Ljava/lang/String;
            astore 10 /* rsName */
        start local 10 // java.lang.String rsName
        20: .line 1356
            new org.springframework.jdbc.core.SqlReturnResultSet
            dup
            aload 10 /* rsName */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getColumnMapRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            invokespecial org.springframework.jdbc.core.SqlReturnResultSet.<init>:(Ljava/lang/String;Lorg/springframework/jdbc/core/RowMapper;)V
            astore 11 /* rsParam */
        start local 11 // org.springframework.jdbc.core.SqlReturnResultSet rsParam
        21: .line 1357
            aload 3 /* results */
            aload 0 /* this */
            aload 9 /* out */
            checkcast java.sql.ResultSet
            aload 11 /* rsParam */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.processResultSet:(Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/ResultSetSupportingSqlParameter;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        22: .line 1358
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 26
        23: .line 1359
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Added default SqlReturnResultSet parameter named '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* rsName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        end local 11 // org.springframework.jdbc.core.SqlReturnResultSet rsParam
        end local 10 // java.lang.String rsName
        24: .line 1362
            goto 26
        25: .line 1364
      StackMap locals:
      StackMap stack:
            aload 3 /* results */
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.SqlOutParameter.getName:()Ljava/lang/String;
            aload 9 /* out */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.Object out
        end local 8 // org.springframework.jdbc.core.SqlReturnType returnType
        end local 7 // org.springframework.jdbc.core.SqlOutParameter outParam
        26: .line 1368
      StackMap locals:
      StackMap stack:
            aload 5 /* param */
            invokevirtual org.springframework.jdbc.core.SqlParameter.isResultsParameter:()Z
            ifne 28
        27: .line 1369
            iinc 4 /* sqlColIndex */ 1
        end local 5 // org.springframework.jdbc.core.SqlParameter param
        28: .line 1339
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate java.sql.CallableStatement java.util.List java.util.Map int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        29: .line 1372
            aload 3 /* results */
            areturn
        end local 4 // int sqlColIndex
        end local 3 // java.util.Map results
        end local 2 // java.util.List parameters
        end local 1 // java.sql.CallableStatement cs
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0         this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   30     1           cs  Ljava/sql/CallableStatement;
            0   30     2   parameters  Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;
            1   30     3      results  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            2   30     4  sqlColIndex  I
            4   28     5        param  Lorg/springframework/jdbc/core/SqlParameter;
            6   26     7     outParam  Lorg/springframework/jdbc/core/SqlOutParameter;
           10   26     8   returnType  Lorg/springframework/jdbc/core/SqlReturnType;
           12   13     9          out  Ljava/lang/Object;
           15   26     9          out  Ljava/lang/Object;
           20   24    10       rsName  Ljava/lang/String;
           21   24    11      rsParam  Lorg/springframework/jdbc/core/SqlReturnResultSet;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/CallableStatement;Ljava/util/List<Lorg/springframework/jdbc/core/SqlParameter;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
            Name  Flags
      cs          
      parameters  

  protected java.util.Map<java.lang.String, java.lang.Object> processResultSet(java.sql.ResultSet, org.springframework.jdbc.core.ResultSetSupportingSqlParameter);
    descriptor: (Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/ResultSetSupportingSqlParameter;)Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.sql.ResultSet rs
        start local 2 // org.springframework.jdbc.core.ResultSetSupportingSqlParameter param
         0: .line 1384
            aload 1 /* rs */
            ifnull 24
         1: .line 1386
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            ifnull 7
         2: .line 1387
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            astore 3 /* rowMapper */
        start local 3 // org.springframework.jdbc.core.RowMapper rowMapper
         3: .line 1388
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 3 /* rowMapper */
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;)V
            aload 1 /* rs */
            invokevirtual org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData:(Ljava/sql/ResultSet;)Ljava/util/List;
            astore 4 /* data */
        start local 4 // java.lang.Object data
         4: .line 1389
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getName:()Ljava/lang/String;
            aload 4 /* data */
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 6
         5: .line 1403
            aload 1 /* rs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
         6: .line 1389
            aload 6
            areturn
        end local 4 // java.lang.Object data
        end local 3 // org.springframework.jdbc.core.RowMapper rowMapper
         7: .line 1391
      StackMap locals:
      StackMap stack:
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getRowCallbackHandler:()Lorg/springframework/jdbc/core/RowCallbackHandler;
            ifnull 15
         8: .line 1392
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getRowCallbackHandler:()Lorg/springframework/jdbc/core/RowCallbackHandler;
            astore 3 /* rch */
        start local 3 // org.springframework.jdbc.core.RowCallbackHandler rch
         9: .line 1393
            new org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor
            dup
            aload 3 /* rch */
            invokespecial org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowCallbackHandler;)V
            aload 1 /* rs */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor.extractData:(Ljava/sql/ResultSet;)Ljava/lang/Object;
            pop
        10: .line 1394
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getName:()Ljava/lang/String;
        11: .line 1395
            ldc "ResultSet returned from stored procedure was processed"
        12: .line 1394
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 6
        13: .line 1403
            aload 1 /* rs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        14: .line 1394
            aload 6
            areturn
        end local 3 // org.springframework.jdbc.core.RowCallbackHandler rch
        15: .line 1397
      StackMap locals:
      StackMap stack:
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getResultSetExtractor:()Lorg/springframework/jdbc/core/ResultSetExtractor;
            ifnull 23
        16: .line 1398
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getResultSetExtractor:()Lorg/springframework/jdbc/core/ResultSetExtractor;
            aload 1 /* rs */
            invokeinterface org.springframework.jdbc.core.ResultSetExtractor.extractData:(Ljava/sql/ResultSet;)Ljava/lang/Object;
            astore 3 /* data */
        start local 3 // java.lang.Object data
        17: .line 1399
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getName:()Ljava/lang/String;
            aload 3 /* data */
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 6
        18: .line 1403
            aload 1 /* rs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        19: .line 1399
            aload 6
            areturn
        end local 3 // java.lang.Object data
        20: .line 1402
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        21: .line 1403
            aload 1 /* rs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        22: .line 1404
            aload 5
            athrow
        23: .line 1403
      StackMap locals:
      StackMap stack:
            aload 1 /* rs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        24: .line 1406
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
        end local 2 // org.springframework.jdbc.core.ResultSetSupportingSqlParameter param
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   25     1         rs  Ljava/sql/ResultSet;
            0   25     2      param  Lorg/springframework/jdbc/core/ResultSetSupportingSqlParameter;
            3    7     3  rowMapper  Lorg/springframework/jdbc/core/RowMapper<*>;
            4    7     4       data  Ljava/lang/Object;
            9   15     3        rch  Lorg/springframework/jdbc/core/RowCallbackHandler;
           17   20     3       data  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     5      20  any
           7    13      20  any
          15    18      20  any
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/ResultSetSupportingSqlParameter;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
       Name  Flags
      rs     
      param  

  protected org.springframework.jdbc.core.RowMapper<java.util.Map<java.lang.String, java.lang.Object>> getColumnMapRowMapper();
    descriptor: ()Lorg/springframework/jdbc/core/RowMapper;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 1420
            new org.springframework.jdbc.core.ColumnMapRowMapper
            dup
            invokespecial org.springframework.jdbc.core.ColumnMapRowMapper.<init>:()V
            areturn
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
    Signature: ()Lorg/springframework/jdbc/core/RowMapper<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;

  protected <T> org.springframework.jdbc.core.RowMapper<T> getSingleColumnRowMapper(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/springframework/jdbc/core/RowMapper;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.Class requiredType
         0: .line 1430
            new org.springframework.jdbc.core.SingleColumnRowMapper
            dup
            aload 1 /* requiredType */
            invokespecial org.springframework.jdbc.core.SingleColumnRowMapper.<init>:(Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class requiredType
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1  requiredType  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lorg/springframework/jdbc/core/RowMapper<TT;>;
    MethodParameters:
              Name  Flags
      requiredType  

  protected java.util.Map<java.lang.String, java.lang.Object> createResultsMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 1443
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.isResultsMapCaseInsensitive:()Z
            ifeq 2
         1: .line 1444
            new org.springframework.util.LinkedCaseInsensitiveMap
            dup
            invokespecial org.springframework.util.LinkedCaseInsensitiveMap.<init>:()V
            areturn
         2: .line 1447
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            areturn
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  protected void applyStatementSettings(java.sql.Statement);
    descriptor: (Ljava/sql/Statement;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.sql.Statement stmt
         0: .line 1462
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getFetchSize:()I
            istore 2 /* fetchSize */
        start local 2 // int fetchSize
         1: .line 1463
            iload 2 /* fetchSize */
            iconst_m1
            if_icmpeq 3
         2: .line 1464
            aload 1 /* stmt */
            iload 2 /* fetchSize */
            invokeinterface java.sql.Statement.setFetchSize:(I)V
         3: .line 1466
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getMaxRows:()I
            istore 3 /* maxRows */
        start local 3 // int maxRows
         4: .line 1467
            iload 3 /* maxRows */
            iconst_m1
            if_icmpeq 6
         5: .line 1468
            aload 1 /* stmt */
            iload 3 /* maxRows */
            invokeinterface java.sql.Statement.setMaxRows:(I)V
         6: .line 1470
      StackMap locals: int
      StackMap stack:
            aload 1 /* stmt */
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getQueryTimeout:()I
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.applyTimeout:(Ljava/sql/Statement;Ljavax/sql/DataSource;I)V
         7: .line 1471
            return
        end local 3 // int maxRows
        end local 2 // int fetchSize
        end local 1 // java.sql.Statement stmt
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    8     1       stmt  Ljava/sql/Statement;
            1    8     2  fetchSize  I
            4    8     3    maxRows  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      stmt  

  protected org.springframework.jdbc.core.PreparedStatementSetter newArgPreparedStatementSetter(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Lorg/springframework/jdbc/core/PreparedStatementSetter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.Object[] args
         0: .line 1481
            new org.springframework.jdbc.core.ArgumentPreparedStatementSetter
            dup
            aload 1 /* args */
            invokespecial org.springframework.jdbc.core.ArgumentPreparedStatementSetter.<init>:([Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object[] args
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1  args  [Ljava/lang/Object;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      args  

  protected org.springframework.jdbc.core.PreparedStatementSetter newArgTypePreparedStatementSetter(java.lang.Object[], int[]);
    descriptor: ([Ljava/lang/Object;[I)Lorg/springframework/jdbc/core/PreparedStatementSetter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.Object[] args
        start local 2 // int[] argTypes
         0: .line 1493
            new org.springframework.jdbc.core.ArgumentTypePreparedStatementSetter
            dup
            aload 1 /* args */
            aload 2 /* argTypes */
            invokespecial org.springframework.jdbc.core.ArgumentTypePreparedStatementSetter.<init>:([Ljava/lang/Object;[I)V
            areturn
        end local 2 // int[] argTypes
        end local 1 // java.lang.Object[] args
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    1     1      args  [Ljava/lang/Object;
            0    1     2  argTypes  [I
    MethodParameters:
          Name  Flags
      args      
      argTypes  

  protected void handleWarnings(java.sql.Statement);
    descriptor: (Ljava/sql/Statement;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.sql.Statement stmt
         0: .line 1504
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.isIgnoreWarnings:()Z
            ifeq 10
         1: .line 1505
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 11
         2: .line 1506
            aload 1 /* stmt */
            invokeinterface java.sql.Statement.getWarnings:()Ljava/sql/SQLWarning;
            astore 2 /* warningToLog */
        start local 2 // java.sql.SQLWarning warningToLog
         3: .line 1507
            goto 8
         4: .line 1508
      StackMap locals: java.sql.SQLWarning
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "SQLWarning ignored: SQL state '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* warningToLog */
            invokevirtual java.sql.SQLWarning.getSQLState:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "', error code '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1509
            aload 2 /* warningToLog */
            invokevirtual java.sql.SQLWarning.getErrorCode:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "', message ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* warningToLog */
            invokevirtual java.sql.SQLWarning.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1508
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         7: .line 1510
            aload 2 /* warningToLog */
            invokevirtual java.sql.SQLWarning.getNextWarning:()Ljava/sql/SQLWarning;
            astore 2 /* warningToLog */
         8: .line 1507
      StackMap locals:
      StackMap stack:
            aload 2 /* warningToLog */
            ifnonnull 4
        end local 2 // java.sql.SQLWarning warningToLog
         9: .line 1513
            goto 11
        10: .line 1515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* stmt */
            invokeinterface java.sql.Statement.getWarnings:()Ljava/sql/SQLWarning;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.handleWarnings:(Ljava/sql/SQLWarning;)V
        11: .line 1517
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.sql.Statement stmt
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   12     1          stmt  Ljava/sql/Statement;
            3    9     2  warningToLog  Ljava/sql/SQLWarning;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      stmt  

  protected void handleWarnings(java.sql.SQLWarning);
    descriptor: (Ljava/sql/SQLWarning;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.sql.SQLWarning warning
         0: .line 1526
            aload 1 /* warning */
            ifnull 2
         1: .line 1527
            new org.springframework.jdbc.SQLWarningException
            dup
            ldc "Warning not ignored"
            aload 1 /* warning */
            invokespecial org.springframework.jdbc.SQLWarningException.<init>:(Ljava/lang/String;Ljava/sql/SQLWarning;)V
            athrow
         2: .line 1529
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.sql.SQLWarning warning
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    3     1  warning  Ljava/sql/SQLWarning;
    Exceptions:
      throws org.springframework.jdbc.SQLWarningException
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
         Name  Flags
      warning  

  protected org.springframework.dao.DataAccessException translateException(java.lang.String, java.lang.String, java.sql.SQLException);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // java.lang.String task
        start local 2 // java.lang.String sql
        start local 3 // java.sql.SQLException ex
         0: .line 1541
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getExceptionTranslator:()Lorg/springframework/jdbc/support/SQLExceptionTranslator;
            aload 1 /* task */
            aload 2 /* sql */
            aload 3 /* ex */
            invokeinterface org.springframework.jdbc.support.SQLExceptionTranslator.translate:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
            astore 4 /* dae */
        start local 4 // org.springframework.dao.DataAccessException dae
         1: .line 1542
            aload 4 /* dae */
            ifnull 2
            aload 4 /* dae */
            goto 3
      StackMap locals: org.springframework.dao.DataAccessException
      StackMap stack:
         2: new org.springframework.jdbc.UncategorizedSQLException
            dup
            aload 1 /* task */
            aload 2 /* sql */
            aload 3 /* ex */
            invokespecial org.springframework.jdbc.UncategorizedSQLException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)V
      StackMap locals:
      StackMap stack: org.springframework.dao.DataAccessException
         3: areturn
        end local 4 // org.springframework.dao.DataAccessException dae
        end local 3 // java.sql.SQLException ex
        end local 2 // java.lang.String sql
        end local 1 // java.lang.String task
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    4     1  task  Ljava/lang/String;
            0    4     2   sql  Ljava/lang/String;
            0    4     3    ex  Ljava/sql/SQLException;
            1    4     4   dae  Lorg/springframework/dao/DataAccessException;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
      Name  Flags
      task  
      sql   
      ex    

  private static java.lang.String getSql(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object sqlProvider
         0: .line 1554
            aload 0 /* sqlProvider */
            instanceof org.springframework.jdbc.core.SqlProvider
            ifeq 2
         1: .line 1555
            aload 0 /* sqlProvider */
            checkcast org.springframework.jdbc.core.SqlProvider
            invokeinterface org.springframework.jdbc.core.SqlProvider.getSql:()Ljava/lang/String;
            areturn
         2: .line 1558
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Object sqlProvider
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  sqlProvider  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      sqlProvider  

  private static <T> T result();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object result
         0: .line 1563
            aload 0 /* result */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "No result"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         3: .line 1564
            aload 0 /* result */
            areturn
        end local 0 // java.lang.Object result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  result  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)TT;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      result  

  private static int updateCount(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Integer result
         0: .line 1568
            aload 0 /* result */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "No update count"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         3: .line 1569
            aload 0 /* result */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 0 // java.lang.Integer result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  result  Ljava/lang/Integer;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      result  

  static org.apache.commons.logging.Log access$0(org.springframework.jdbc.core.JdbcTemplate);
    descriptor: (Lorg/springframework/jdbc/core/JdbcTemplate;)Lorg/apache/commons/logging/Log;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 107
            aload 0
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.util.stream.Stream lambda$0(org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.RowMapper, java.sql.PreparedStatement);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementSetter;Lorg/springframework/jdbc/core/RowMapper;Ljava/sql/PreparedStatement;)Ljava/util/stream/Stream;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 3 // java.sql.PreparedStatement ps
         0: .line 835
            aload 1
            ifnull 2
         1: .line 836
            aload 1
            aload 3 /* ps */
            invokeinterface org.springframework.jdbc.core.PreparedStatementSetter.setValues:(Ljava/sql/PreparedStatement;)V
         2: .line 838
      StackMap locals:
      StackMap stack:
            aload 3 /* ps */
            invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
            astore 4 /* rs */
        start local 4 // java.sql.ResultSet rs
         3: .line 839
            aload 3 /* ps */
            invokeinterface java.sql.PreparedStatement.getConnection:()Ljava/sql/Connection;
            astore 5 /* con */
        start local 5 // java.sql.Connection con
         4: .line 840
            new org.springframework.jdbc.core.JdbcTemplate$ResultSetSpliterator
            dup
            aload 4 /* rs */
            aload 2
            invokespecial org.springframework.jdbc.core.JdbcTemplate$ResultSetSpliterator.<init>:(Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/RowMapper;)V
            invokevirtual org.springframework.jdbc.core.JdbcTemplate$ResultSetSpliterator.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            aload 4 /* rs */
            aload 1
            aload 3 /* ps */
            aload 5 /* con */
            invokedynamic run(Lorg/springframework/jdbc/core/JdbcTemplate;Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/PreparedStatementSetter;Ljava/sql/PreparedStatement;Ljava/sql/Connection;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  org/springframework/jdbc/core/JdbcTemplate.lambda$1(Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/PreparedStatementSetter;Ljava/sql/PreparedStatement;Ljava/sql/Connection;)V (7)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
            areturn
        end local 5 // java.sql.Connection con
        end local 4 // java.sql.ResultSet rs
        end local 3 // java.sql.PreparedStatement ps
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    5     3    ps  Ljava/sql/PreparedStatement;
            3    5     4    rs  Ljava/sql/ResultSet;
            4    5     5   con  Ljava/sql/Connection;
    Exceptions:
      throws java.sql.SQLException, org.springframework.dao.DataAccessException

  private java.lang.Integer lambda$2(org.springframework.jdbc.core.PreparedStatementSetter, java.sql.PreparedStatement);
    descriptor: (Lorg/springframework/jdbc/core/PreparedStatementSetter;Ljava/sql/PreparedStatement;)Ljava/lang/Integer;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 2 // java.sql.PreparedStatement ps
         0: .line 962
            aload 1
            ifnull 2
         1: .line 963
            aload 1
            aload 2 /* ps */
            invokeinterface org.springframework.jdbc.core.PreparedStatementSetter.setValues:(Ljava/sql/PreparedStatement;)V
         2: .line 965
      StackMap locals:
      StackMap stack:
            aload 2 /* ps */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            istore 3 /* rows */
        start local 3 // int rows
         3: .line 966
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 5
         4: .line 967
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "SQL update affected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* rows */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " rows"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         5: .line 969
      StackMap locals: int
      StackMap stack:
            iload 3 /* rows */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 5
         6: .line 972
            aload 1
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 8
         7: .line 973
            aload 1
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
         8: .line 969
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementSetter java.sql.PreparedStatement int top java.lang.Integer
      StackMap stack:
            aload 5
            areturn
        end local 3 // int rows
         9: .line 971
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementSetter java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 4
        10: .line 972
            aload 1
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 12
        11: .line 973
            aload 1
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        12: .line 975
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementSetter java.sql.PreparedStatement top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 2 // java.sql.PreparedStatement ps
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   13     2    ps  Ljava/sql/PreparedStatement;
            3    9     3  rows  I
      Exception table:
        from    to  target  type
           0     6       9  any
    Exceptions:
      throws java.sql.SQLException, org.springframework.dao.DataAccessException

  private java.lang.Integer lambda$3(org.springframework.jdbc.support.KeyHolder, java.sql.PreparedStatement);
    descriptor: (Lorg/springframework/jdbc/support/KeyHolder;Ljava/sql/PreparedStatement;)Ljava/lang/Integer;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 2 // java.sql.PreparedStatement ps
         0: .line 992
            aload 2 /* ps */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            istore 3 /* rows */
        start local 3 // int rows
         1: .line 993
            aload 1
            invokeinterface org.springframework.jdbc.support.KeyHolder.getKeyList:()Ljava/util/List;
            astore 4 /* generatedKeys */
        start local 4 // java.util.List generatedKeys
         2: .line 994
            aload 4 /* generatedKeys */
            invokeinterface java.util.List.clear:()V
         3: .line 995
            aload 2 /* ps */
            invokeinterface java.sql.PreparedStatement.getGeneratedKeys:()Ljava/sql/ResultSet;
            astore 5 /* keys */
        start local 5 // java.sql.ResultSet keys
         4: .line 996
            aload 5 /* keys */
            ifnull 13
         5: .line 999
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getColumnMapRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            iconst_1
            invokespecial org.springframework.jdbc.core.RowMapperResultSetExtractor.<init>:(Lorg/springframework/jdbc/core/RowMapper;I)V
         6: .line 998
            astore 6 /* rse */
        start local 6 // org.springframework.jdbc.core.RowMapperResultSetExtractor rse
         7: .line 1000
            aload 4 /* generatedKeys */
            aload 6 /* rse */
            aload 5 /* keys */
            invokevirtual org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData:(Ljava/sql/ResultSet;)Ljava/util/List;
            invokestatic org.springframework.jdbc.core.JdbcTemplate.result:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Collection
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 6 // org.springframework.jdbc.core.RowMapperResultSetExtractor rse
         8: .line 1001
            goto 12
         9: .line 1002
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.support.KeyHolder java.sql.PreparedStatement int java.util.List java.sql.ResultSet
      StackMap stack: java.lang.Throwable
            astore 7
        10: .line 1003
            aload 5 /* keys */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        11: .line 1004
            aload 7
            athrow
        12: .line 1003
      StackMap locals:
      StackMap stack:
            aload 5 /* keys */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        13: .line 1006
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 15
        14: .line 1007
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "SQL update affected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* rows */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " rows and returned "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* generatedKeys */
            invokeinterface java.util.List.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " keys"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        15: .line 1009
      StackMap locals:
      StackMap stack:
            iload 3 /* rows */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 5 // java.sql.ResultSet keys
        end local 4 // java.util.List generatedKeys
        end local 3 // int rows
        end local 2 // java.sql.PreparedStatement ps
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   16     2             ps  Ljava/sql/PreparedStatement;
            1   16     3           rows  I
            2   16     4  generatedKeys  Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
            4   16     5           keys  Ljava/sql/ResultSet;
            7    8     6            rse  Lorg/springframework/jdbc/core/RowMapperResultSetExtractor<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
      Exception table:
        from    to  target  type
           5     9       9  any
    Exceptions:
      throws java.sql.SQLException, org.springframework.dao.DataAccessException

  private static int[] lambda$4(org.springframework.jdbc.core.BatchPreparedStatementSetter, java.sql.PreparedStatement);
    descriptor: (Lorg/springframework/jdbc/core/BatchPreparedStatementSetter;Ljava/sql/PreparedStatement;)[I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=9, args_size=2
        start local 1 // java.sql.PreparedStatement ps
         0: .line 1036
            aload 0
            invokeinterface org.springframework.jdbc.core.BatchPreparedStatementSetter.getBatchSize:()I
            istore 2 /* batchSize */
        start local 2 // int batchSize
         1: .line 1038
            aload 0
            instanceof org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter
            ifeq 3
         2: .line 1039
            aload 0
            checkcast org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter
            goto 4
      StackMap locals: int
      StackMap stack:
         3: aconst_null
         4: .line 1037
      StackMap locals:
      StackMap stack: org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter
            astore 3 /* ipss */
        start local 3 // org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter ipss
         5: .line 1040
            aload 1 /* ps */
            invokeinterface java.sql.PreparedStatement.getConnection:()Ljava/sql/Connection;
            invokestatic org.springframework.jdbc.support.JdbcUtils.supportsBatchUpdates:(Ljava/sql/Connection;)Z
            ifeq 18
         6: .line 1041
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 13
         8: .line 1042
      StackMap locals: org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter int
      StackMap stack:
            aload 0
            aload 1 /* ps */
            iload 4 /* i */
            invokeinterface org.springframework.jdbc.core.BatchPreparedStatementSetter.setValues:(Ljava/sql/PreparedStatement;I)V
         9: .line 1043
            aload 3 /* ipss */
            ifnull 11
            aload 3 /* ipss */
            iload 4 /* i */
            invokeinterface org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter.isBatchExhausted:(I)Z
            ifeq 11
        10: .line 1044
            goto 14
        11: .line 1046
      StackMap locals:
      StackMap stack:
            aload 1 /* ps */
            invokeinterface java.sql.PreparedStatement.addBatch:()V
        12: .line 1041
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 2 /* batchSize */
            if_icmplt 8
        end local 4 // int i
        14: .line 1048
      StackMap locals:
      StackMap stack:
            aload 1 /* ps */
            invokeinterface java.sql.PreparedStatement.executeBatch:()[I
            astore 8
        15: .line 1067
            aload 0
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 17
        16: .line 1068
            aload 0
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        17: .line 1048
      StackMap locals: org.springframework.jdbc.core.BatchPreparedStatementSetter java.sql.PreparedStatement int org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter top top top top int[]
      StackMap stack:
            aload 8
            areturn
        18: .line 1051
      StackMap locals: org.springframework.jdbc.core.BatchPreparedStatementSetter java.sql.PreparedStatement int org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* rowsAffected */
        start local 4 // java.util.List rowsAffected
        19: .line 1052
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        20: goto 26
        21: .line 1053
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0
            aload 1 /* ps */
            iload 5 /* i */
            invokeinterface org.springframework.jdbc.core.BatchPreparedStatementSetter.setValues:(Ljava/sql/PreparedStatement;I)V
        22: .line 1054
            aload 3 /* ipss */
            ifnull 24
            aload 3 /* ipss */
            iload 5 /* i */
            invokeinterface org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter.isBatchExhausted:(I)Z
            ifeq 24
        23: .line 1055
            goto 27
        24: .line 1057
      StackMap locals:
      StackMap stack:
            aload 4 /* rowsAffected */
            aload 1 /* ps */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1052
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 5 /* i */
            iload 2 /* batchSize */
            if_icmplt 21
        end local 5 // int i
        27: .line 1059
      StackMap locals:
      StackMap stack:
            aload 4 /* rowsAffected */
            invokeinterface java.util.List.size:()I
            newarray 10
            astore 5 /* rowsAffectedArray */
        start local 5 // int[] rowsAffectedArray
        28: .line 1060
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        29: goto 32
        30: .line 1061
      StackMap locals: int[] int
      StackMap stack:
            aload 5 /* rowsAffectedArray */
            iload 6 /* i */
            aload 4 /* rowsAffected */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        31: .line 1060
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 6 /* i */
            aload 5 /* rowsAffectedArray */
            arraylength
            if_icmplt 30
        end local 6 // int i
        33: .line 1063
            aload 5 /* rowsAffectedArray */
            astore 8
        34: .line 1067
            aload 0
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 36
        35: .line 1068
            aload 0
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        36: .line 1063
      StackMap locals: org.springframework.jdbc.core.BatchPreparedStatementSetter java.sql.PreparedStatement int org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter java.util.List int[] top top int[]
      StackMap stack:
            aload 8
            areturn
        end local 5 // int[] rowsAffectedArray
        end local 4 // java.util.List rowsAffected
        end local 3 // org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter ipss
        end local 2 // int batchSize
        37: .line 1066
      StackMap locals: org.springframework.jdbc.core.BatchPreparedStatementSetter java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 7
        38: .line 1067
            aload 0
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 40
        39: .line 1068
            aload 0
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        40: .line 1070
      StackMap locals: org.springframework.jdbc.core.BatchPreparedStatementSetter java.sql.PreparedStatement top top top top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        end local 1 // java.sql.PreparedStatement ps
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   41     1                 ps  Ljava/sql/PreparedStatement;
            1   37     2          batchSize  I
            5   37     3               ipss  Lorg/springframework/jdbc/core/InterruptibleBatchPreparedStatementSetter;
            7   14     4                  i  I
           19   37     4       rowsAffected  Ljava/util/List<Ljava/lang/Integer;>;
           20   27     5                  i  I
           28   37     5  rowsAffectedArray  [I
           29   33     6                  i  I
      Exception table:
        from    to  target  type
           0    15      37  any
          18    34      37  any
    Exceptions:
      throws java.sql.SQLException, org.springframework.dao.DataAccessException

  private int[][] lambda$5(org.springframework.jdbc.core.ParameterizedPreparedStatementSetter, java.util.Collection, int, java.sql.PreparedStatement);
    descriptor: (Lorg/springframework/jdbc/core/ParameterizedPreparedStatementSetter;Ljava/util/Collection;ILjava/sql/PreparedStatement;)[[I
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=14, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 4 // java.sql.PreparedStatement ps
         0: .line 1128
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* rowsAffected */
        start local 5 // java.util.List rowsAffected
         1: .line 1130
            aload 4 /* ps */
            invokeinterface java.sql.PreparedStatement.getConnection:()Ljava/sql/Connection;
            invokestatic org.springframework.jdbc.support.JdbcUtils.supportsBatchUpdates:(Ljava/sql/Connection;)Z
            istore 6 /* batchSupported */
        start local 6 // boolean batchSupported
         2: .line 1131
            iconst_0
            istore 7 /* n */
        start local 7 // int n
         3: .line 1132
            aload 2
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 22
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ParameterizedPreparedStatementSetter java.util.Collection int java.sql.PreparedStatement java.util.List int int top java.util.Iterator
      StackMap stack:
         4: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 8 /* obj */
        start local 8 // java.lang.Object obj
         5: .line 1133
            aload 1
            aload 4 /* ps */
            aload 8 /* obj */
            invokeinterface org.springframework.jdbc.core.ParameterizedPreparedStatementSetter.setValues:(Ljava/sql/PreparedStatement;Ljava/lang/Object;)V
         6: .line 1134
            iinc 7 /* n */ 1
         7: .line 1135
            iload 6 /* batchSupported */
            ifeq 20
         8: .line 1136
            aload 4 /* ps */
            invokeinterface java.sql.PreparedStatement.addBatch:()V
         9: .line 1137
            iload 7 /* n */
            iload 3
            irem
            ifeq 10
            iload 7 /* n */
            aload 2
            invokeinterface java.util.Collection.size:()I
            if_icmpne 22
        10: .line 1138
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ParameterizedPreparedStatementSetter java.util.Collection int java.sql.PreparedStatement java.util.List int int java.lang.Object java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 18
        11: .line 1139
            iload 7 /* n */
            iload 3
            irem
            ifne 12
            iload 7 /* n */
            iload 3
            idiv
            goto 13
      StackMap locals:
      StackMap stack:
        12: iload 7 /* n */
            iload 3
            idiv
            iconst_1
            iadd
      StackMap locals:
      StackMap stack: int
        13: istore 10 /* batchIdx */
        start local 10 // int batchIdx
        14: .line 1140
            iload 7 /* n */
            iload 7 /* n */
            iload 3
            irem
            ifne 15
            iload 7 /* n */
            iload 3
            idiv
            iconst_1
            isub
            goto 16
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ParameterizedPreparedStatementSetter java.util.Collection int java.sql.PreparedStatement java.util.List int int java.lang.Object java.util.Iterator int
      StackMap stack: int
        15: iload 7 /* n */
            iload 3
            idiv
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ParameterizedPreparedStatementSetter java.util.Collection int java.sql.PreparedStatement java.util.List int int java.lang.Object java.util.Iterator int
      StackMap stack: int int
        16: iload 3
            imul
            isub
            istore 11 /* items */
        start local 11 // int items
        17: .line 1141
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Sending SQL batch update #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* batchIdx */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 11 /* items */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " items"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        end local 11 // int items
        end local 10 // int batchIdx
        18: .line 1143
      StackMap locals:
      StackMap stack:
            aload 5 /* rowsAffected */
            aload 4 /* ps */
            invokeinterface java.sql.PreparedStatement.executeBatch:()[I
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 1145
            goto 22
        20: .line 1147
      StackMap locals:
      StackMap stack:
            aload 4 /* ps */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            istore 10 /* i */
        start local 10 // int i
        21: .line 1148
            aload 5 /* rowsAffected */
            iconst_1
            newarray 10
            dup
            iconst_0
            iload 10 /* i */
            iastore
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // int i
        end local 8 // java.lang.Object obj
        22: .line 1132
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ParameterizedPreparedStatementSetter java.util.Collection int java.sql.PreparedStatement java.util.List int int top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        23: .line 1151
            aload 5 /* rowsAffected */
            invokeinterface java.util.List.size:()I
            anewarray int[]
            astore 8 /* result1 */
        start local 8 // int[][] result1
        24: .line 1152
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        25: goto 28
        26: .line 1153
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ParameterizedPreparedStatementSetter java.util.Collection int java.sql.PreparedStatement java.util.List int int int[][] int
      StackMap stack:
            aload 8 /* result1 */
            iload 9 /* i */
            aload 5 /* rowsAffected */
            iload 9 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast int[]
            aastore
        27: .line 1152
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 9 /* i */
            aload 8 /* result1 */
            arraylength
            if_icmplt 26
        end local 9 // int i
        29: .line 1155
            aload 8 /* result1 */
            astore 13
        30: .line 1158
            aload 1
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 32
        31: .line 1159
            aload 1
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        32: .line 1155
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ParameterizedPreparedStatementSetter java.util.Collection int java.sql.PreparedStatement java.util.List int int int[][] top top top top int[][]
      StackMap stack:
            aload 13
            areturn
        end local 8 // int[][] result1
        end local 7 // int n
        end local 6 // boolean batchSupported
        33: .line 1157
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ParameterizedPreparedStatementSetter java.util.Collection int java.sql.PreparedStatement java.util.List
      StackMap stack: java.lang.Throwable
            astore 12
        34: .line 1158
            aload 1
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 36
        35: .line 1159
            aload 1
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        36: .line 1161
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.ParameterizedPreparedStatementSetter java.util.Collection int java.sql.PreparedStatement java.util.List top top top top top top java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        end local 5 // java.util.List rowsAffected
        end local 4 // java.sql.PreparedStatement ps
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   37     0            this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   37     4              ps  Ljava/sql/PreparedStatement;
            1   37     5    rowsAffected  Ljava/util/List<[I>;
            2   33     6  batchSupported  Z
            3   33     7               n  I
            5   22     8             obj  TT;
           14   18    10        batchIdx  I
           17   18    11           items  I
           21   22    10               i  I
           24   33     8         result1  [[I
           25   29     9               i  I
      Exception table:
        from    to  target  type
           1    30      33  any
    Exceptions:
      throws java.sql.SQLException, org.springframework.dao.DataAccessException

  private java.util.Map lambda$6(java.util.List, java.util.List, java.util.List, java.sql.CallableStatement);
    descriptor: (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/sql/CallableStatement;)Ljava/util/Map;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 4 // java.sql.CallableStatement cs
         0: .line 1246
            aload 4 /* cs */
            invokeinterface java.sql.CallableStatement.execute:()Z
            istore 5 /* retVal */
        start local 5 // boolean retVal
         1: .line 1247
            aload 4 /* cs */
            invokeinterface java.sql.CallableStatement.getUpdateCount:()I
            istore 6 /* updateCount */
        start local 6 // int updateCount
         2: .line 1248
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 5
         3: .line 1249
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "CallableStatement.execute() returned '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* retVal */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         4: .line 1250
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "CallableStatement.getUpdateCount() returned "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* updateCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         5: .line 1252
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.createResultsMap:()Ljava/util/Map;
            astore 7 /* resultsMap */
        start local 7 // java.util.Map resultsMap
         6: .line 1253
            iload 5 /* retVal */
            ifne 7
            iload 6 /* updateCount */
            iconst_m1
            if_icmpeq 8
         7: .line 1254
      StackMap locals: java.util.Map
      StackMap stack:
            aload 7 /* resultsMap */
            aload 0 /* this */
            aload 4 /* cs */
            aload 1
            aload 2
            iload 6 /* updateCount */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.extractReturnedResults:(Ljava/sql/CallableStatement;Ljava/util/List;Ljava/util/List;I)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         8: .line 1256
      StackMap locals:
      StackMap stack:
            aload 7 /* resultsMap */
            aload 0 /* this */
            aload 4 /* cs */
            aload 3
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.extractOutputParameters:(Ljava/sql/CallableStatement;Ljava/util/List;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         9: .line 1257
            aload 7 /* resultsMap */
            areturn
        end local 7 // java.util.Map resultsMap
        end local 6 // int updateCount
        end local 5 // boolean retVal
        end local 4 // java.sql.CallableStatement cs
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   10     4           cs  Ljava/sql/CallableStatement;
            1   10     5       retVal  Z
            2   10     6  updateCount  I
            6   10     7   resultsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Exceptions:
      throws java.sql.SQLException, org.springframework.dao.DataAccessException

  private void lambda$1(java.sql.ResultSet, org.springframework.jdbc.core.PreparedStatementSetter, java.sql.PreparedStatement, java.sql.Connection);
    descriptor: (Ljava/sql/ResultSet;Lorg/springframework/jdbc/core/PreparedStatementSetter;Ljava/sql/PreparedStatement;Ljava/sql/Connection;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
         0: .line 841
            aload 1
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
         1: .line 842
            aload 2
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 3
         2: .line 843
            aload 2
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
         3: .line 845
      StackMap locals:
      StackMap stack:
            aload 3
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
         4: .line 846
            aload 4
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getDataSource:()Ljavax/sql/DataSource;
            invokestatic org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection:(Ljava/sql/Connection;Ljavax/sql/DataSource;)V
         5: .line 847
            return
        end local 0 // org.springframework.jdbc.core.JdbcTemplate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
}
SourceFile: "JdbcTemplate.java"
NestMembers:
  org.springframework.jdbc.core.JdbcTemplate$1  org.springframework.jdbc.core.JdbcTemplate$1BatchUpdateStatementCallback  org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback  org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback  org.springframework.jdbc.core.JdbcTemplate$1StreamStatementCallback  org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback  org.springframework.jdbc.core.JdbcTemplate$2  org.springframework.jdbc.core.JdbcTemplate$CloseSuppressingInvocationHandler  org.springframework.jdbc.core.JdbcTemplate$ResultSetSpliterator  org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor  org.springframework.jdbc.core.JdbcTemplate$SimpleCallableStatementCreator  org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.springframework.jdbc.core.JdbcTemplate$1
  BatchUpdateStatementCallback = org.springframework.jdbc.core.JdbcTemplate$1BatchUpdateStatementCallback
  ExecuteStatementCallback = org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback
  QueryStatementCallback = org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback
  StreamStatementCallback = org.springframework.jdbc.core.JdbcTemplate$1StreamStatementCallback
  UpdateStatementCallback = org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback
  org.springframework.jdbc.core.JdbcTemplate$2
  private CloseSuppressingInvocationHandler = org.springframework.jdbc.core.JdbcTemplate$CloseSuppressingInvocationHandler of org.springframework.jdbc.core.JdbcTemplate
  private ResultSetSpliterator = org.springframework.jdbc.core.JdbcTemplate$ResultSetSpliterator of org.springframework.jdbc.core.JdbcTemplate
  private RowCallbackHandlerResultSetExtractor = org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor of org.springframework.jdbc.core.JdbcTemplate
  private SimpleCallableStatementCreator = org.springframework.jdbc.core.JdbcTemplate$SimpleCallableStatementCreator of org.springframework.jdbc.core.JdbcTemplate
  private SimplePreparedStatementCreator = org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator of org.springframework.jdbc.core.JdbcTemplate