parameterClassName = vars.typeHandlerFactory.resolveAlias(parameterClassName);
Class parameterClass = Resources.classForName(parameterClassName);
statement.setParameterClass(parameterClass);
}
} catch (ClassNotFoundException e) {
throw new SqlMapException("Error. Could not set parameter class. Cause: " + e, e);
}
} else {
statement.setParameterClass(parameterMap.getParameterClass());
}
// process SQL statement, including inline parameter maps
vars.errorCtx.setMoreInfo("Check the SQL statement.");
processSqlStatement(node, statement);
// set up either null result map or automatic result mapping
BasicResultMap resultMap = (BasicResultMap)statement.getResultMap();
if (resultMap == null && resultClassName == null) {
statement.setResultMap(null);
} else if (resultMap == null) {
String firstResultClass = getFirstToken(resultClassName);
resultMap = buildAutoResultMap(allowRemapping, statement, firstResultClass, xmlResultName);
statement.setResultMap(resultMap);
String[] additionalResultClasses = getAllButFirstToken(resultClassName);
for (int i=0; i<additionalResultClasses.length; i++) {
statement.addResultMap(buildAutoResultMap(allowRemapping, statement, additionalResultClasses[i],xmlResultName));
}
}
statement.setTimeout(vars.defaultStatementTimeout);
if (timeout != null) {
try {
statement.setTimeout(Integer.valueOf(timeout));
} catch (NumberFormatException e) {
throw new SqlMapException("Specified timeout value for statement "
+ statement.getId() + " is not a valid integer");
}
}
vars.errorCtx.setMoreInfo(null);