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 156
            aload 0 /* this */
            invokespecial org.springframework.jdbc.support.JdbcAccessor.<init>:()V
         1: .line 109
            aload 0 /* this */
            iconst_1
            putfield org.springframework.jdbc.core.JdbcTemplate.ignoreWarnings:Z
         2: .line 115
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.fetchSize:I
         3: .line 121
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.maxRows:I
         4: .line 127
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.queryTimeout:I
         5: .line 134
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
         6: .line 142
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
         7: .line 148
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.resultsMapCaseInsensitive:Z
         8: .line 157
            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 164
            aload 0 /* this */
            invokespecial org.springframework.jdbc.support.JdbcAccessor.<init>:()V
         1: .line 109
            aload 0 /* this */
            iconst_1
            putfield org.springframework.jdbc.core.JdbcTemplate.ignoreWarnings:Z
         2: .line 115
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.fetchSize:I
         3: .line 121
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.maxRows:I
         4: .line 127
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.queryTimeout:I
         5: .line 134
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
         6: .line 142
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
         7: .line 148
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.resultsMapCaseInsensitive:Z
         8: .line 165
            aload 0 /* this */
            aload 1 /* dataSource */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.setDataSource:(Ljavax/sql/DataSource;)V
         9: .line 166
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.afterPropertiesSet:()V
        10: .line 167
            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 176
            aload 0 /* this */
            invokespecial org.springframework.jdbc.support.JdbcAccessor.<init>:()V
         1: .line 109
            aload 0 /* this */
            iconst_1
            putfield org.springframework.jdbc.core.JdbcTemplate.ignoreWarnings:Z
         2: .line 115
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.fetchSize:I
         3: .line 121
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.maxRows:I
         4: .line 127
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.jdbc.core.JdbcTemplate.queryTimeout:I
         5: .line 134
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
         6: .line 142
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
         7: .line 148
            aload 0 /* this */
            iconst_0
            putfield org.springframework.jdbc.core.JdbcTemplate.resultsMapCaseInsensitive:Z
         8: .line 177
            aload 0 /* this */
            aload 1 /* dataSource */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.setDataSource:(Ljavax/sql/DataSource;)V
         9: .line 178
            aload 0 /* this */
            iload 2 /* lazyInit */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.setLazyInit:(Z)V
        10: .line 179
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.afterPropertiesSet:()V
        11: .line 180
            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 192
            aload 0 /* this */
            iload 1 /* ignoreWarnings */
            putfield org.springframework.jdbc.core.JdbcTemplate.ignoreWarnings:Z
         1: .line 193
            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 199
            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 214
            aload 0 /* this */
            iload 1 /* fetchSize */
            putfield org.springframework.jdbc.core.JdbcTemplate.fetchSize:I
         1: .line 215
            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 221
            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 237
            aload 0 /* this */
            iload 1 /* maxRows */
            putfield org.springframework.jdbc.core.JdbcTemplate.maxRows:I
         1: .line 238
            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 244
            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 257
            aload 0 /* this */
            iload 1 /* queryTimeout */
            putfield org.springframework.jdbc.core.JdbcTemplate.queryTimeout:I
         1: .line 258
            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 264
            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 274
            aload 0 /* this */
            iload 1 /* skipResultsProcessing */
            putfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
         1: .line 275
            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 281
            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 288
            aload 0 /* this */
            iload 1 /* skipUndeclaredResults */
            putfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
         1: .line 289
            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 295
            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 303
            aload 0 /* this */
            iload 1 /* resultsMapCaseInsensitive */
            putfield org.springframework.jdbc.core.JdbcTemplate.resultsMapCaseInsensitive:Z
         1: .line 304
            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 311
            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 322
            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 324
            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 327
            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 328
            aload 1 /* action */
            aload 3 /* conToUse */
            invokeinterface org.springframework.jdbc.core.ConnectionCallback.doInConnection:(Ljava/sql/Connection;)Ljava/lang/Object;
            astore 6
         4: .line 339
            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 328
            aload 6
            areturn
        end local 3 // java.sql.Connection conToUse
         6: .line 330
      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 333
            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 334
            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 335
            aconst_null
            astore 2 /* con */
        10: .line 336
            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 338
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        12: .line 339
            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 340
            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 356
            ldc Lorg/springframework/jdbc/datasource/ConnectionProxy;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         1: .line 357
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/springframework/jdbc/datasource/ConnectionProxy;
            aastore
         2: .line 358
            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 355
            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   

  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=4, locals=8, args_size=2
        start local 0 // org.springframework.jdbc.core.JdbcTemplate this
        start local 1 // org.springframework.jdbc.core.StatementCallback action
         0: .line 369
            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 371
            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 372
            aconst_null
            astore 3 /* stmt */
        start local 3 // java.sql.Statement stmt
         3: .line 374
            aload 2 /* con */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 3 /* stmt */
         4: .line 375
            aload 0 /* this */
            aload 3 /* stmt */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.applyStatementSettings:(Ljava/sql/Statement;)V
         5: .line 376
            aload 1 /* action */
            aload 3 /* stmt */
            invokeinterface org.springframework.jdbc.core.StatementCallback.doInStatement:(Ljava/sql/Statement;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
         6: .line 377
            aload 0 /* this */
            aload 3 /* stmt */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.handleWarnings:(Ljava/sql/Statement;)V
         7: .line 378
            aload 4 /* result */
            astore 7
         8: .line 391
            aload 3 /* stmt */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
         9: .line 392
            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
        10: .line 378
            aload 7
            areturn
        end local 4 // java.lang.Object result
        11: .line 380
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.StatementCallback java.sql.Connection java.sql.Statement
      StackMap stack: java.sql.SQLException
            astore 4 /* ex */
        start local 4 // java.sql.SQLException ex
        12: .line 383
            aload 1 /* action */
            invokestatic org.springframework.jdbc.core.JdbcTemplate.getSql:(Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* sql */
        start local 5 // java.lang.String sql
        13: .line 384
            aload 3 /* stmt */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        14: .line 385
            aconst_null
            astore 3 /* stmt */
        15: .line 386
            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
        16: .line 387
            aconst_null
            astore 2 /* con */
        17: .line 388
            aload 0 /* this */
            ldc "StatementCallback"
            aload 5 /* sql */
            aload 4 /* ex */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.translateException:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
            athrow
        end local 5 // java.lang.String sql
        end local 4 // java.sql.SQLException ex
        18: .line 390
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        19: .line 391
            aload 3 /* stmt */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        20: .line 392
            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
        21: .line 393
            aload 6
            athrow
        end local 3 // java.sql.Statement stmt
        end local 2 // java.sql.Connection con
        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   22     0    this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   22     1  action  Lorg/springframework/jdbc/core/StatementCallback<TT;>;
            2   22     2     con  Ljava/sql/Connection;
            3   22     3    stmt  Ljava/sql/Statement;
            6   11     4  result  TT;
           12   18     4      ex  Ljava/sql/SQLException;
           13   18     5     sql  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     8      11  Class java.sql.SQLException
           3     8      18  any
          11    18      18  any
    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 398
            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 399
            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 418
      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
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;)Ljava/lang/Object;
            pop
         3: .line 419
            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 424
            aload 1 /* sql */
            ldc "SQL must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 425
            aload 2 /* rse */
            ldc "ResultSetExtractor must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 426
            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 427
            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 452
      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
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;)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 457
            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 458
            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 462
            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 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 467
            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 473
            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 474
            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 480
            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 485
            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 490
            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 495
            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 500
            aload 1 /* sql */
            ldc "SQL must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 501
            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 502
            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 523
      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
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;)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 528
            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 529
            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 530
            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 590
      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
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/StatementCallback;)Ljava/lang/Object;
            checkcast int[]
            astore 2 /* result */
        start local 2 // int[] result
         4: .line 591
            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 592
            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

  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=5, locals=9, 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 605
            aload 1 /* psc */
            ldc "PreparedStatementCreator must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 606
            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 607
            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 608
            aload 1 /* psc */
            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 609
            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 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.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback 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 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 612
      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 613
            aconst_null
            astore 4 /* ps */
        start local 4 // java.sql.PreparedStatement ps
         9: .line 615
            aload 1 /* psc */
            aload 3 /* con */
            invokeinterface org.springframework.jdbc.core.PreparedStatementCreator.createPreparedStatement:(Ljava/sql/Connection;)Ljava/sql/PreparedStatement;
            astore 4 /* ps */
        10: .line 616
            aload 0 /* this */
            aload 4 /* ps */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.applyStatementSettings:(Ljava/sql/Statement;)V
        11: .line 617
            aload 2 /* action */
            aload 4 /* ps */
            invokeinterface org.springframework.jdbc.core.PreparedStatementCallback.doInPreparedStatement:(Ljava/sql/PreparedStatement;)Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
        12: .line 618
            aload 0 /* this */
            aload 4 /* ps */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.handleWarnings:(Ljava/sql/Statement;)V
        13: .line 619
            aload 5 /* result */
            astore 8
        14: .line 635
            aload 1 /* psc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 16
        15: .line 636
            aload 1 /* psc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        16: .line 638
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback java.sql.Connection java.sql.PreparedStatement java.lang.Object top top java.lang.Object
      StackMap stack:
            aload 4 /* ps */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        17: .line 639
            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 619
            aload 8
            areturn
        end local 5 // java.lang.Object result
        19: .line 621
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback java.sql.Connection java.sql.PreparedStatement
      StackMap stack: java.sql.SQLException
            astore 5 /* ex */
        start local 5 // java.sql.SQLException ex
        20: .line 624
            aload 1 /* psc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 22
        21: .line 625
            aload 1 /* psc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        22: .line 627
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 1 /* psc */
            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 628
            aload 4 /* ps */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        24: .line 629
            aconst_null
            astore 4 /* ps */
        25: .line 630
            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
        26: .line 631
            aconst_null
            astore 3 /* con */
        27: .line 632
            aload 0 /* this */
            ldc "PreparedStatementCallback"
            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
        28: .line 634
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback java.sql.Connection java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 7
        29: .line 635
            aload 1 /* psc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 31
        30: .line 636
            aload 1 /* psc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        31: .line 638
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementCreator org.springframework.jdbc.core.PreparedStatementCallback java.sql.Connection java.sql.PreparedStatement top top java.lang.Throwable
      StackMap stack:
            aload 4 /* ps */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        32: .line 639
            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
        33: .line 640
            aload 7
            athrow
        end local 4 // java.sql.PreparedStatement ps
        end local 3 // java.sql.Connection con
        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   34     0    this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   34     1     psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0   34     2  action  Lorg/springframework/jdbc/core/PreparedStatementCallback<TT;>;
            4    7     3     sql  Ljava/lang/String;
            8   34     3     con  Ljava/sql/Connection;
            9   34     4      ps  Ljava/sql/PreparedStatement;
           12   19     5  result  TT;
           20   28     5      ex  Ljava/sql/SQLException;
           23   28     6     sql  Ljava/lang/String;
      Exception table:
        from    to  target  type
           9    14      19  Class java.sql.SQLException
           9    14      28  any
          19    28      28  any
    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 646
            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 */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;)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 666
            aload 3 /* rse */
            ldc "ResultSetExtractor must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 667
            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 669
            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
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;)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    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   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 694
            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 700
            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 706
            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 712
            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: 
      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 718
            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 723
            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 724
            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 728
            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 729
            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 733
            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 734
            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 738
            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 739
            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
    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 743
            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 744
            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 748
            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 753
            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 758
            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 763
            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;>;
    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 768
            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> 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 776
            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 777
            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 783
            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 784
            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: 
      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 790
            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 791
            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 799
            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 804
            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;
    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 809
            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 814
            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 819
            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 824
            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 829
            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;>;
    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 834
            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 839
            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 844
            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 849
            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 854
            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 860
            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 862
            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$0(Lorg/springframework/jdbc/core/PreparedStatementSetter;Ljava/sql/PreparedStatement;)Ljava/lang/Integer; (7)
                  (Ljava/sql/PreparedStatement;)Ljava/lang/Integer;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;)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    2     0  this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    2     1   psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    2     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 883
            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 890
            aload 2 /* generatedKeyHolder */
            ldc "KeyHolder must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 891
            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 893
            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$1(Lorg/springframework/jdbc/support/KeyHolder;Ljava/sql/PreparedStatement;)Ljava/lang/Integer; (7)
                  (Ljava/sql/PreparedStatement;)Ljava/lang/Integer;
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.execute:(Lorg/springframework/jdbc/core/PreparedStatementCreator;Lorg/springframework/jdbc/core/PreparedStatementCallback;)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    3     0                this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0    3     1                 psc  Lorg/springframework/jdbc/core/PreparedStatementCreator;
            0    3     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 917
            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 922
            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 927
            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 932
            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 933
            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 936
      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$2(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 975
            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 976
            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 981
            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 986
            aload 2 /* batchArgs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 987
            iconst_0
            newarray 10
            areturn
         2: .line 990
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 991
            aload 1 /* sql */
         4: .line 992
            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 990
            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 1026
            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 1027
            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 1029
      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$3(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 1066
            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 1067
            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 1080
            aload 1 /* csc */
            ldc "CallableStatementCreator must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 1081
            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 1082
            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 1083
            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 1084
            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 1087
      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 1088
            aconst_null
            astore 4 /* cs */
        start local 4 // java.sql.CallableStatement cs
         9: .line 1090
            aload 1 /* csc */
            aload 3 /* con */
            invokeinterface org.springframework.jdbc.core.CallableStatementCreator.createCallableStatement:(Ljava/sql/Connection;)Ljava/sql/CallableStatement;
            astore 4 /* cs */
        10: .line 1091
            aload 0 /* this */
            aload 4 /* cs */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.applyStatementSettings:(Ljava/sql/Statement;)V
        11: .line 1092
            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 1093
            aload 0 /* this */
            aload 4 /* cs */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.handleWarnings:(Ljava/sql/Statement;)V
        13: .line 1094
            aload 5 /* result */
            astore 8
        14: .line 1110
            aload 1 /* csc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 16
        15: .line 1111
            aload 1 /* csc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        16: .line 1113
      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 1114
            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 1094
            aload 8
            areturn
        end local 5 // java.lang.Object result
        19: .line 1096
      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 1099
            aload 1 /* csc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 22
        21: .line 1100
            aload 1 /* csc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        22: .line 1102
      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 1103
            aload 4 /* cs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeStatement:(Ljava/sql/Statement;)V
        24: .line 1104
            aconst_null
            astore 4 /* cs */
        25: .line 1105
            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
        26: .line 1106
            aconst_null
            astore 3 /* con */
        27: .line 1107
            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
        28: .line 1109
      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
        29: .line 1110
            aload 1 /* csc */
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 31
        30: .line 1111
            aload 1 /* csc */
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        31: .line 1113
      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
        32: .line 1114
            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
        33: .line 1115
            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   34     0    this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   34     1     csc  Lorg/springframework/jdbc/core/CallableStatementCreator;
            0   34     2  action  Lorg/springframework/jdbc/core/CallableStatementCallback<TT;>;
            4    7     3     sql  Ljava/lang/String;
            8   34     3     con  Ljava/sql/Connection;
            9   34     4      cs  Ljava/sql/CallableStatement;
           12   19     5  result  TT;
           20   28     5      ex  Ljava/sql/SQLException;
           23   28     6     sql  Ljava/lang/String;
      Exception table:
        from    to  target  type
           9    14      19  Class java.sql.SQLException
           9    14      28  any
          19    28      28  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 1121
            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 1128
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* updateCountParameters */
        start local 3 // java.util.List updateCountParameters
         1: .line 1129
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* resultSetParameters */
        start local 4 // java.util.List resultSetParameters
         2: .line 1130
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* callParameters */
        start local 5 // java.util.List callParameters
         3: .line 1132
            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 1133
            aload 6 /* parameter */
            invokevirtual org.springframework.jdbc.core.SqlParameter.isResultsParameter:()Z
            ifeq 11
         6: .line 1134
            aload 6 /* parameter */
            instanceof org.springframework.jdbc.core.SqlReturnResultSet
            ifeq 9
         7: .line 1135
            aload 4 /* resultSetParameters */
            aload 6 /* parameter */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1136
            goto 12
         9: .line 1138
      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 1140
            goto 12
        11: .line 1142
      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 1132
      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 1146
            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$4(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 1161
            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 1162
            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 1176
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* returnedResults */
        start local 5 // java.util.Map returnedResults
         1: .line 1177
            iconst_0
            istore 6 /* rsIndex */
        start local 6 // int rsIndex
         2: .line 1178
            iconst_0
            istore 7 /* updateIndex */
        start local 7 // int updateIndex
         3: .line 1180
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.skipResultsProcessing:Z
            ifne 35
         4: .line 1182
      StackMap locals: java.util.Map int int
      StackMap stack:
            iload 4 /* updateCount */
            iconst_m1
            if_icmpne 18
         5: .line 1183
            aload 3 /* resultSetParameters */
            ifnull 10
            aload 3 /* resultSetParameters */
            invokeinterface java.util.List.size:()I
            iload 6 /* rsIndex */
            if_icmple 10
         6: .line 1184
            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 1185
            aload 5 /* returnedResults */
            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 1186
            iinc 6 /* rsIndex */ 1
        end local 9 // org.springframework.jdbc.core.SqlReturnResultSet declaredRsParam
         9: .line 1187
            goto 30
        10: .line 1189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
            ifne 30
        11: .line 1190
            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 1191
            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 1192
            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 1193
            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 1195
      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 /* returnedResults */
            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 1196
            iinc 6 /* rsIndex */ 1
        end local 10 // org.springframework.jdbc.core.SqlReturnResultSet undeclaredRsParam
        end local 9 // java.lang.String rsName
        17: .line 1199
            goto 30
        18: .line 1201
      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 1202
            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 1203
            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 1204
            aload 5 /* returnedResults */
            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 1205
            iinc 7 /* updateIndex */ 1
        end local 10 // java.lang.String declaredUcName
        end local 9 // org.springframework.jdbc.core.SqlReturnUpdateCount ucParam
        23: .line 1206
            goto 30
        24: .line 1208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.jdbc.core.JdbcTemplate.skipUndeclaredResults:Z
            ifne 30
        25: .line 1209
            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 1210
            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 1211
            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 1213
      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 /* returnedResults */
            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 1214
            iinc 7 /* updateIndex */ 1
        end local 9 // java.lang.String undeclaredName
        30: .line 1218
      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 1219
            aload 1 /* cs */
            invokeinterface java.sql.CallableStatement.getUpdateCount:()I
            istore 4 /* updateCount */
        32: .line 1220
            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 1221
            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 1224
      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 1226
      StackMap locals:
      StackMap stack:
            aload 5 /* returnedResults */
            areturn
        end local 7 // int updateIndex
        end local 6 // int rsIndex
        end local 5 // java.util.Map returnedResults
        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        returnedResults  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 1238
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* returnedResults */
        start local 3 // java.util.Map returnedResults
         1: .line 1239
            iconst_1
            istore 4 /* sqlColIndex */
        start local 4 // int sqlColIndex
         2: .line 1240
            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 1241
            aload 5 /* param */
            instanceof org.springframework.jdbc.core.SqlOutParameter
            ifeq 26
         5: .line 1242
            aload 5 /* param */
            checkcast org.springframework.jdbc.core.SqlOutParameter
            astore 7 /* outParam */
        start local 7 // org.springframework.jdbc.core.SqlOutParameter outParam
         6: .line 1243
            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 1244
            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 1245
            aload 8 /* returnType */
            ifnull 14
        11: .line 1246
            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 1247
            aload 3 /* returnedResults */
            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 1248
            goto 26
        14: .line 1250
      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 1251
            aload 9 /* out */
            instanceof java.sql.ResultSet
            ifeq 25
        16: .line 1252
            aload 7 /* outParam */
            invokevirtual org.springframework.jdbc.core.SqlOutParameter.isResultSetSupported:()Z
            ifeq 19
        17: .line 1253
            aload 3 /* returnedResults */
            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 1254
            goto 26
        19: .line 1256
      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 1257
            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 1258
            aload 3 /* returnedResults */
            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 1259
            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 1260
            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 1263
            goto 26
        25: .line 1265
      StackMap locals:
      StackMap stack:
            aload 3 /* returnedResults */
            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 1269
      StackMap locals:
      StackMap stack:
            aload 5 /* param */
            invokevirtual org.springframework.jdbc.core.SqlParameter.isResultsParameter:()Z
            ifne 28
        27: .line 1270
            iinc 4 /* sqlColIndex */ 1
        end local 5 // org.springframework.jdbc.core.SqlParameter param
        28: .line 1240
      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 1273
            aload 3 /* returnedResults */
            areturn
        end local 4 // int sqlColIndex
        end local 3 // java.util.Map returnedResults
        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  returnedResults  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 1285
            aload 1 /* rs */
            ifnonnull 2
         1: .line 1286
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
         2: .line 1289
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* returnedResults */
        start local 3 // java.util.Map returnedResults
         3: .line 1291
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            ifnull 8
         4: .line 1292
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getRowMapper:()Lorg/springframework/jdbc/core/RowMapper;
            astore 4 /* rowMapper */
        start local 4 // org.springframework.jdbc.core.RowMapper rowMapper
         5: .line 1293
            new org.springframework.jdbc.core.RowMapperResultSetExtractor
            dup
            aload 4 /* 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 5 /* result */
        start local 5 // java.lang.Object result
         6: .line 1294
            aload 3 /* returnedResults */
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getName:()Ljava/lang/String;
            aload 5 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.Object result
        end local 4 // org.springframework.jdbc.core.RowMapper rowMapper
         7: .line 1295
            goto 20
         8: .line 1296
      StackMap locals: java.util.Map
      StackMap stack:
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getRowCallbackHandler:()Lorg/springframework/jdbc/core/RowCallbackHandler;
            ifnull 13
         9: .line 1297
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getRowCallbackHandler:()Lorg/springframework/jdbc/core/RowCallbackHandler;
            astore 4 /* rch */
        start local 4 // org.springframework.jdbc.core.RowCallbackHandler rch
        10: .line 1298
            new org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor
            dup
            aload 4 /* 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
        11: .line 1299
            aload 3 /* returnedResults */
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getName:()Ljava/lang/String;
            ldc "ResultSet returned from stored procedure was processed"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.springframework.jdbc.core.RowCallbackHandler rch
        12: .line 1300
            goto 20
        13: .line 1301
      StackMap locals:
      StackMap stack:
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getResultSetExtractor:()Lorg/springframework/jdbc/core/ResultSetExtractor;
            ifnull 20
        14: .line 1302
            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 4 /* result */
        start local 4 // java.lang.Object result
        15: .line 1303
            aload 3 /* returnedResults */
            aload 2 /* param */
            invokevirtual org.springframework.jdbc.core.ResultSetSupportingSqlParameter.getName:()Ljava/lang/String;
            aload 4 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.Object result
        16: .line 1305
            goto 20
        17: .line 1306
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        18: .line 1307
            aload 1 /* rs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        19: .line 1308
            aload 6
            athrow
        20: .line 1307
      StackMap locals:
      StackMap stack:
            aload 1 /* rs */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        21: .line 1309
            aload 3 /* returnedResults */
            areturn
        end local 3 // java.util.Map returnedResults
        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   22     0             this  Lorg/springframework/jdbc/core/JdbcTemplate;
            0   22     1               rs  Ljava/sql/ResultSet;
            0   22     2            param  Lorg/springframework/jdbc/core/ResultSetSupportingSqlParameter;
            3   22     3  returnedResults  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            5    7     4        rowMapper  Lorg/springframework/jdbc/core/RowMapper<*>;
            6    7     5           result  Ljava/lang/Object;
           10   12     4              rch  Lorg/springframework/jdbc/core/RowCallbackHandler;
           15   16     4           result  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           3    17      17  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 1323
            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 1333
            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 1346
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.isResultsMapCaseInsensitive:()Z
            ifeq 2
         1: .line 1347
            new org.springframework.util.LinkedCaseInsensitiveMap
            dup
            invokespecial org.springframework.util.LinkedCaseInsensitiveMap.<init>:()V
            areturn
         2: .line 1350
      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 1365
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.getFetchSize:()I
            istore 2 /* fetchSize */
        start local 2 // int fetchSize
         1: .line 1366
            iload 2 /* fetchSize */
            iconst_m1
            if_icmpeq 3
         2: .line 1367
            aload 1 /* stmt */
            iload 2 /* fetchSize */
            invokeinterface java.sql.Statement.setFetchSize:(I)V
         3: .line 1369
      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 1370
            iload 3 /* maxRows */
            iconst_m1
            if_icmpeq 6
         5: .line 1371
            aload 1 /* stmt */
            iload 3 /* maxRows */
            invokeinterface java.sql.Statement.setMaxRows:(I)V
         6: .line 1373
      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 1374
            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 1384
            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 1396
            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 1407
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.isIgnoreWarnings:()Z
            ifeq 10
         1: .line 1408
            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 1409
            aload 1 /* stmt */
            invokeinterface java.sql.Statement.getWarnings:()Ljava/sql/SQLWarning;
            astore 2 /* warningToLog */
        start local 2 // java.sql.SQLWarning warningToLog
         3: .line 1410
            goto 8
         4: .line 1411
      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 1412
            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 1411
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         7: .line 1413
            aload 2 /* warningToLog */
            invokevirtual java.sql.SQLWarning.getNextWarning:()Ljava/sql/SQLWarning;
            astore 2 /* warningToLog */
         8: .line 1410
      StackMap locals:
      StackMap stack:
            aload 2 /* warningToLog */
            ifnonnull 4
        end local 2 // java.sql.SQLWarning warningToLog
         9: .line 1416
            goto 11
        10: .line 1418
      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 1420
      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 1429
            aload 1 /* warning */
            ifnull 2
         1: .line 1430
            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 1432
      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 1444
            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 1445
            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 1457
            aload 0 /* sqlProvider */
            instanceof org.springframework.jdbc.core.SqlProvider
            ifeq 2
         1: .line 1458
            aload 0 /* sqlProvider */
            checkcast org.springframework.jdbc.core.SqlProvider
            invokeinterface org.springframework.jdbc.core.SqlProvider.getSql:()Ljava/lang/String;
            areturn
         2: .line 1461
      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 1466
            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 1467
            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 1471
            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 1472
            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 101
            aload 0
            getfield org.springframework.jdbc.core.JdbcTemplate.logger:Lorg/apache/commons/logging/Log;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.Integer lambda$0(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 864
            aload 1
            ifnull 2
         1: .line 865
            aload 1
            aload 2 /* ps */
            invokeinterface org.springframework.jdbc.core.PreparedStatementSetter.setValues:(Ljava/sql/PreparedStatement;)V
         2: .line 867
      StackMap locals:
      StackMap stack:
            aload 2 /* ps */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            istore 3 /* rows */
        start local 3 // int rows
         3: .line 868
            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 869
            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 871
      StackMap locals: int
      StackMap stack:
            iload 3 /* rows */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 5
         6: .line 874
            aload 1
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 8
         7: .line 875
            aload 1
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
         8: .line 871
      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 873
      StackMap locals: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.PreparedStatementSetter java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 4
        10: .line 874
            aload 1
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 12
        11: .line 875
            aload 1
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        12: .line 877
      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$1(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 894
            aload 2 /* ps */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            istore 3 /* rows */
        start local 3 // int rows
         1: .line 895
            aload 1
            invokeinterface org.springframework.jdbc.support.KeyHolder.getKeyList:()Ljava/util/List;
            astore 4 /* generatedKeys */
        start local 4 // java.util.List generatedKeys
         2: .line 896
            aload 4 /* generatedKeys */
            invokeinterface java.util.List.clear:()V
         3: .line 897
            aload 2 /* ps */
            invokeinterface java.sql.PreparedStatement.getGeneratedKeys:()Ljava/sql/ResultSet;
            astore 5 /* keys */
        start local 5 // java.sql.ResultSet keys
         4: .line 898
            aload 5 /* keys */
            ifnull 13
         5: .line 901
            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 900
            astore 6 /* rse */
        start local 6 // org.springframework.jdbc.core.RowMapperResultSetExtractor rse
         7: .line 902
            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 903
            goto 12
         9: .line 904
      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 905
            aload 5 /* keys */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        11: .line 906
            aload 7
            athrow
        12: .line 905
      StackMap locals:
      StackMap stack:
            aload 5 /* keys */
            invokestatic org.springframework.jdbc.support.JdbcUtils.closeResultSet:(Ljava/sql/ResultSet;)V
        13: .line 908
      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 909
            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 911
      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$2(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 938
            aload 0
            invokeinterface org.springframework.jdbc.core.BatchPreparedStatementSetter.getBatchSize:()I
            istore 2 /* batchSize */
        start local 2 // int batchSize
         1: .line 940
            aload 0
            instanceof org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter
            ifeq 3
         2: .line 941
            aload 0
            checkcast org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter
            goto 4
      StackMap locals: int
      StackMap stack:
         3: aconst_null
         4: .line 939
      StackMap locals:
      StackMap stack: org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter
            astore 3 /* ipss */
        start local 3 // org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter ipss
         5: .line 942
            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 943
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 13
         8: .line 944
      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 945
            aload 3 /* ipss */
            ifnull 11
            aload 3 /* ipss */
            iload 4 /* i */
            invokeinterface org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter.isBatchExhausted:(I)Z
            ifeq 11
        10: .line 946
            goto 14
        11: .line 948
      StackMap locals:
      StackMap stack:
            aload 1 /* ps */
            invokeinterface java.sql.PreparedStatement.addBatch:()V
        12: .line 943
            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 950
      StackMap locals:
      StackMap stack:
            aload 1 /* ps */
            invokeinterface java.sql.PreparedStatement.executeBatch:()[I
            astore 8
        15: .line 969
            aload 0
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 17
        16: .line 970
            aload 0
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        17: .line 950
      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 953
      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 954
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        20: goto 26
        21: .line 955
      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 956
            aload 3 /* ipss */
            ifnull 24
            aload 3 /* ipss */
            iload 5 /* i */
            invokeinterface org.springframework.jdbc.core.InterruptibleBatchPreparedStatementSetter.isBatchExhausted:(I)Z
            ifeq 24
        23: .line 957
            goto 27
        24: .line 959
      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 954
            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 961
      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 962
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        29: goto 32
        30: .line 963
      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 962
            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 965
            aload 5 /* rowsAffectedArray */
            astore 8
        34: .line 969
            aload 0
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 36
        35: .line 970
            aload 0
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        36: .line 965
      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 968
      StackMap locals: org.springframework.jdbc.core.BatchPreparedStatementSetter java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 7
        38: .line 969
            aload 0
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 40
        39: .line 970
            aload 0
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        40: .line 972
      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$3(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 1030
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* rowsAffected */
        start local 5 // java.util.List rowsAffected
         1: .line 1032
            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 1033
            iconst_0
            istore 7 /* n */
        start local 7 // int n
         3: .line 1034
            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 1035
            aload 1
            aload 4 /* ps */
            aload 8 /* obj */
            invokeinterface org.springframework.jdbc.core.ParameterizedPreparedStatementSetter.setValues:(Ljava/sql/PreparedStatement;Ljava/lang/Object;)V
         6: .line 1036
            iinc 7 /* n */ 1
         7: .line 1037
            iload 6 /* batchSupported */
            ifeq 20
         8: .line 1038
            aload 4 /* ps */
            invokeinterface java.sql.PreparedStatement.addBatch:()V
         9: .line 1039
            iload 7 /* n */
            iload 3
            irem
            ifeq 10
            iload 7 /* n */
            aload 2
            invokeinterface java.util.Collection.size:()I
            if_icmpne 22
        10: .line 1040
      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 1041
            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 1042
            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 1043
            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 1045
      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 1047
            goto 22
        20: .line 1049
      StackMap locals:
      StackMap stack:
            aload 4 /* ps */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            istore 10 /* i */
        start local 10 // int i
        21: .line 1050
            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 1034
      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 1053
            aload 5 /* rowsAffected */
            invokeinterface java.util.List.size:()I
            anewarray int[]
            astore 8 /* result1 */
        start local 8 // int[][] result1
        24: .line 1054
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        25: goto 28
        26: .line 1055
      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 1054
            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 1057
            aload 8 /* result1 */
            astore 13
        30: .line 1060
            aload 1
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 32
        31: .line 1061
            aload 1
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        32: .line 1057
      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 1059
      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 1060
            aload 1
            instanceof org.springframework.jdbc.core.ParameterDisposer
            ifeq 36
        35: .line 1061
            aload 1
            checkcast org.springframework.jdbc.core.ParameterDisposer
            invokeinterface org.springframework.jdbc.core.ParameterDisposer.cleanupParameters:()V
        36: .line 1063
      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$4(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 1147
            aload 4 /* cs */
            invokeinterface java.sql.CallableStatement.execute:()Z
            istore 5 /* retVal */
        start local 5 // boolean retVal
         1: .line 1148
            aload 4 /* cs */
            invokeinterface java.sql.CallableStatement.getUpdateCount:()I
            istore 6 /* updateCount */
        start local 6 // int updateCount
         2: .line 1149
            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 1150
            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 1151
            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 1153
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.jdbc.core.JdbcTemplate.createResultsMap:()Ljava/util/Map;
            astore 7 /* returnedResults */
        start local 7 // java.util.Map returnedResults
         6: .line 1154
            iload 5 /* retVal */
            ifne 7
            iload 6 /* updateCount */
            iconst_m1
            if_icmpeq 8
         7: .line 1155
      StackMap locals: java.util.Map
      StackMap stack:
            aload 7 /* returnedResults */
            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 1157
      StackMap locals:
      StackMap stack:
            aload 7 /* returnedResults */
            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 1158
            aload 7 /* returnedResults */
            areturn
        end local 7 // java.util.Map returnedResults
        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  returnedResults  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Exceptions:
      throws java.sql.SQLException, org.springframework.dao.DataAccessException
}
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$1UpdateStatementCallback  org.springframework.jdbc.core.JdbcTemplate$2  org.springframework.jdbc.core.JdbcTemplate$CloseSuppressingInvocationHandler  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
  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 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