public class org.apache.ibatis.jdbc.SqlRunner extends java.lang.Object
{
public static final int NO_GENERATED_KEY;
private final java.sql.Connection connection;
private final org.apache.ibatis.type.TypeHandlerRegistry typeHandlerRegistry;
private boolean useGeneratedKeySupport;
public void <init>(java.sql.Connection)
{
org.apache.ibatis.jdbc.SqlRunner v;
org.apache.ibatis.type.TypeHandlerRegistry v;
java.sql.Connection v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: java.sql.Connection;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.ibatis.jdbc.SqlRunner: java.sql.Connection connection> = v;
v = new org.apache.ibatis.type.TypeHandlerRegistry;
specialinvoke v.<org.apache.ibatis.type.TypeHandlerRegistry: void <init>()>();
v.<org.apache.ibatis.jdbc.SqlRunner: org.apache.ibatis.type.TypeHandlerRegistry typeHandlerRegistry> = v;
return;
}
public void setUseGeneratedKeySupport(boolean)
{
org.apache.ibatis.jdbc.SqlRunner v;
boolean v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: boolean;
v.<org.apache.ibatis.jdbc.SqlRunner: boolean useGeneratedKeySupport> = v;
return;
}
public transient java.util.Map selectOne(java.lang.String, java.lang.Object[]) throws java.sql.SQLException
{
java.lang.Object[] v;
java.sql.SQLException v;
java.util.List v;
org.apache.ibatis.jdbc.SqlRunner v;
int v, v;
java.lang.Object v;
java.lang.String v, v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v = virtualinvoke v.<org.apache.ibatis.jdbc.SqlRunner: java.util.List selectAll(java.lang.String,java.lang.Object[])>(v, v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v == 1 goto label;
v = new java.sql.SQLException;
v = interfaceinvoke v.<java.util.List: int size()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Statement returned \u results where exactly one (1) was expected.");
specialinvoke v.<java.sql.SQLException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
return v;
}
public transient java.util.List selectAll(java.lang.String, java.lang.Object[]) throws java.sql.SQLException
{
java.lang.Throwable v, v;
java.lang.Object[] v;
java.sql.Connection v;
java.sql.PreparedStatement v;
java.util.List v;
org.apache.ibatis.jdbc.SqlRunner v;
java.sql.ResultSet v;
java.lang.String v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v = v.<org.apache.ibatis.jdbc.SqlRunner: java.sql.Connection connection>;
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
label:
specialinvoke v.<org.apache.ibatis.jdbc.SqlRunner: void setParameters(java.sql.PreparedStatement,java.lang.Object[])>(v, v);
v = interfaceinvoke v.<java.sql.PreparedStatement: java.sql.ResultSet executeQuery()>();
label:
v = specialinvoke v.<org.apache.ibatis.jdbc.SqlRunner: java.util.List getResults(java.sql.ResultSet)>(v);
label:
if v == null goto label;
interfaceinvoke v.<java.sql.ResultSet: void close()>();
label:
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public transient int insert(java.lang.String, java.lang.Object[]) throws java.sql.SQLException
{
java.lang.Throwable v, v;
java.lang.Object[] v;
java.sql.Connection v, v;
org.apache.ibatis.jdbc.SqlRunner v;
java.sql.ResultSet v;
int v, v;
java.lang.String v, v;
boolean v, v, v;
java.util.Iterator v;
java.util.Collection v;
java.lang.NumberFormatException v;
java.sql.PreparedStatement v;
java.util.List v;
java.lang.Object v, v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v = v.<org.apache.ibatis.jdbc.SqlRunner: boolean useGeneratedKeySupport>;
if v == 0 goto label;
v = v.<org.apache.ibatis.jdbc.SqlRunner: java.sql.Connection connection>;
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String,int)>(v, 1);
goto label;
label:
v = v.<org.apache.ibatis.jdbc.SqlRunner: java.sql.Connection connection>;
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
label:
specialinvoke v.<org.apache.ibatis.jdbc.SqlRunner: void setParameters(java.sql.PreparedStatement,java.lang.Object[])>(v, v);
interfaceinvoke v.<java.sql.PreparedStatement: int executeUpdate()>();
v = v.<org.apache.ibatis.jdbc.SqlRunner: boolean useGeneratedKeySupport>;
if v == 0 goto label;
v = interfaceinvoke v.<java.sql.PreparedStatement: java.sql.ResultSet getGeneratedKeys()>();
label:
v = specialinvoke v.<org.apache.ibatis.jdbc.SqlRunner: java.util.List getResults(java.sql.ResultSet)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v == null goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
if v == null goto label;
interfaceinvoke v.<java.sql.ResultSet: void close()>();
label:
return v;
label:
v := @caughtexception;
label:
if v == null goto label;
interfaceinvoke v.<java.sql.ResultSet: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return -2147482647;
label:
v := @caughtexception;
throw v;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public transient int update(java.lang.String, java.lang.Object[]) throws java.sql.SQLException
{
java.lang.Throwable v;
org.apache.ibatis.jdbc.SqlRunner v;
java.lang.Object[] v;
java.sql.Connection v;
int v;
java.lang.String v;
java.sql.PreparedStatement v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v = v.<org.apache.ibatis.jdbc.SqlRunner: java.sql.Connection connection>;
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
label:
specialinvoke v.<org.apache.ibatis.jdbc.SqlRunner: void setParameters(java.sql.PreparedStatement,java.lang.Object[])>(v, v);
v = interfaceinvoke v.<java.sql.PreparedStatement: int executeUpdate()>();
label:
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
return v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
}
public transient int delete(java.lang.String, java.lang.Object[]) throws java.sql.SQLException
{
org.apache.ibatis.jdbc.SqlRunner v;
java.lang.Object[] v;
int v;
java.lang.String v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v = virtualinvoke v.<org.apache.ibatis.jdbc.SqlRunner: int update(java.lang.String,java.lang.Object[])>(v, v);
return v;
}
public void run(java.lang.String) throws java.sql.SQLException
{
java.lang.Throwable v;
org.apache.ibatis.jdbc.SqlRunner v;
java.sql.Connection v;
java.sql.Statement v;
java.lang.String v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: java.lang.String;
v = v.<org.apache.ibatis.jdbc.SqlRunner: java.sql.Connection connection>;
v = interfaceinvoke v.<java.sql.Connection: java.sql.Statement createStatement()>();
label:
interfaceinvoke v.<java.sql.Statement: boolean execute(java.lang.String)>(v);
label:
interfaceinvoke v.<java.sql.Statement: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void closeConnection()
{
java.sql.SQLException v;
org.apache.ibatis.jdbc.SqlRunner v;
java.sql.Connection v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
label:
v = v.<org.apache.ibatis.jdbc.SqlRunner: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void close()>();
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.sql.SQLException from label to label with label;
}
private transient void setParameters(java.sql.PreparedStatement, java.lang.Object[]) throws java.sql.SQLException
{
java.lang.Object[] v;
java.sql.SQLException v, v;
org.apache.ibatis.jdbc.SqlRunner v;
int v, v, v, v;
org.apache.ibatis.type.TypeHandler v, v;
java.lang.String v;
boolean v;
java.sql.PreparedStatement v;
org.apache.ibatis.type.JdbcType v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v, v, v;
org.apache.ibatis.type.TypeHandlerRegistry v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: java.sql.PreparedStatement;
v := @parameter: java.lang.Object[];
v = 0;
v = lengthof v;
label:
if v >= v goto label;
v = v[v];
if v != null goto label;
v = new java.sql.SQLException;
specialinvoke v.<java.sql.SQLException: void <init>(java.lang.String)>("SqlRunner requires an instance of Null to represent typed null values for JDBC compatibility");
throw v;
label:
v = v[v];
v = v instanceof org.apache.ibatis.jdbc.Null;
if v == 0 goto label;
v = v[v];
v = virtualinvoke v.<org.apache.ibatis.jdbc.Null: org.apache.ibatis.type.TypeHandler getTypeHandler()>();
v = v + 1;
v = v[v];
v = virtualinvoke v.<org.apache.ibatis.jdbc.Null: org.apache.ibatis.type.JdbcType getJdbcType()>();
interfaceinvoke v.<org.apache.ibatis.type.TypeHandler: void setParameter(java.sql.PreparedStatement,int,java.lang.Object,org.apache.ibatis.type.JdbcType)>(v, v, null, v);
goto label;
label:
v = v.<org.apache.ibatis.jdbc.SqlRunner: org.apache.ibatis.type.TypeHandlerRegistry typeHandlerRegistry>;
v = v[v];
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<org.apache.ibatis.type.TypeHandlerRegistry: org.apache.ibatis.type.TypeHandler getTypeHandler(java.lang.Class)>(v);
if v != null goto label;
v = new java.sql.SQLException;
v = v[v];
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Class)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("SqlRunner could not find a TypeHandler instance for \u0001");
specialinvoke v.<java.sql.SQLException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
v = v[v];
interfaceinvoke v.<org.apache.ibatis.type.TypeHandler: void setParameter(java.sql.PreparedStatement,int,java.lang.Object,org.apache.ibatis.type.JdbcType)>(v, v, v, null);
label:
v = v + 1;
goto label;
label:
return;
}
private java.util.List getResults(java.sql.ResultSet) throws java.sql.SQLException
{
java.util.HashMap v;
java.util.ArrayList v, v, v;
org.apache.ibatis.jdbc.SqlRunner v;
java.sql.ResultSet v;
java.util.Locale v;
int v, v, v, v, v, v;
org.apache.ibatis.type.TypeHandler v, v;
java.lang.String v, v, v;
boolean v;
java.lang.Exception v;
java.lang.Class v;
java.lang.Object v, v, v;
org.apache.ibatis.type.TypeHandlerRegistry v, v, v;
java.sql.ResultSetMetaData v;
v := @this: org.apache.ibatis.jdbc.SqlRunner;
v := @parameter: java.sql.ResultSet;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.sql.ResultSet: java.sql.ResultSetMetaData getMetaData()>();
v = 0;
v = interfaceinvoke v.<java.sql.ResultSetMetaData: int getColumnCount()>();
label:
if v >= v goto label;
v = v + 1;
v = interfaceinvoke v.<java.sql.ResultSetMetaData: java.lang.String getColumnLabel(int)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
v = interfaceinvoke v.<java.sql.ResultSetMetaData: java.lang.String getColumnClassName(int)>(v);
v = staticinvoke <org.apache.ibatis.io.Resources: java.lang.Class classForName(java.lang.String)>(v);
v = v.<org.apache.ibatis.jdbc.SqlRunner: org.apache.ibatis.type.TypeHandlerRegistry typeHandlerRegistry>;
v = virtualinvoke v.<org.apache.ibatis.type.TypeHandlerRegistry: org.apache.ibatis.type.TypeHandler getTypeHandler(java.lang.Class)>(v);
if v != null goto label;
v = v.<org.apache.ibatis.jdbc.SqlRunner: org.apache.ibatis.type.TypeHandlerRegistry typeHandlerRegistry>;
v = virtualinvoke v.<org.apache.ibatis.type.TypeHandlerRegistry: org.apache.ibatis.type.TypeHandler getTypeHandler(java.lang.Class)>(class "Ljava/lang/Object;");
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.ibatis.jdbc.SqlRunner: org.apache.ibatis.type.TypeHandlerRegistry typeHandlerRegistry>;
v = virtualinvoke v.<org.apache.ibatis.type.TypeHandlerRegistry: org.apache.ibatis.type.TypeHandler getTypeHandler(java.lang.Class)>(class "Ljava/lang/Object;");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.sql.ResultSet: boolean next()>();
if v == 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = 0;
v = interfaceinvoke v.<java.util.List: int size()>();
label:
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase(java.util.Locale)>(v);
v = interfaceinvoke v.<org.apache.ibatis.type.TypeHandler: java.lang.Object getResult(java.sql.ResultSet,java.lang.String)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
catch java.lang.Exception from label to label with label;
}
}