return rows;
}
}
private Object query(Object[] args) {
JdbcQueryDefinition queryDefinition = jdbcDefinitionCollection.getQueryDefinition();
Method[] getterMethods = queryDefinition.getGetterMethods();
Integer[] parameterIndexes = queryDefinition.getParameterIndexes();
RowMapper<?> rowMapper = queryDefinition.getRowMapper();
int fetchSize = queryDefinition.getFetchSize();
String actualSql = queryDefinition.getActualSql(args);
List<String> parameterNames = queryDefinition.getParsedSql().getParameterNames();
Object[] paramArray = CommonUtils.fetchVlaues(getterMethods, parameterIndexes, args, parameterNames);
initContext(queryDefinition, args, SqlType.READ);
int pageIndex = queryDefinition.getPageIndex();
Page page = CommonUtils.getPageArgument(args, pageIndex);
if (page != null) {
return getDataAccessor().queryPage(actualSql, page, rowMapper, fetchSize, paramArray);
}
LOGGER.info("Query SQL:" + actualSql);
List<?> result = getDataAccessor().query(actualSql, rowMapper, fetchSize, paramArray);
if (queryDefinition.isUnique()) {
if (result == null || result.isEmpty()) {
return null;
}
if (result.size() > 1) {
LOGGER.debug("result size > 1, fetch the 1st result");