io.github.h800572003.generate.ResultSetService Maven / Gradle / Ivy
The newest version!
package io.github.h800572003.generate;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class ResultSetService {
private final IJavaTypeResolver javaTypeResolver;
public ResultSetService(IJavaTypeResolver javaTypeResolver) {
this.javaTypeResolver = javaTypeResolver;
}
public List getColumns(ResultSet resultSet) {
List columns = new ArrayList<>();
try {
final ResultSetMetaData metaData = resultSet.getMetaData();
int count = metaData.getColumnCount();
for (int i = 1; i <= count; i++) {
final Class javaType = javaTypeResolver.getJavaType(metaData.getColumnType(i));
String columnName = metaData.getColumnName(i);
String camelName = CamelNameUtils.getCamelName(columnName);
columns.add(new PoType(camelName, columnName, javaType));
}
return columns;
} catch (SQLException e) {
throw new SqlGenerateCodeException("取得異常", e);
}
}
}