code: public static <T> List<T> queryColumn(
        String poolName, String sql, String columnName, Class<T> columnType, Object[] params)
        throws YankSQLException {
  
      List<T> returnList = null;
  
      try {
        ColumnListHandler<T> resultSetHandler;
        if (columnType.equals(Integer.class)) {
          resultSetHandler = (ColumnListHandler<T>) new IntegerColumnListHandler(columnName);
        } else if (columnType.equals(Long.class)) {
          resultSetHandler = (ColumnListHandler<T>) new LongColumnListHandler(columnName);
        } else if (columnType.equals(Float.class)) {
          resultSetHandler = (ColumnListHandler<T>) new FloatColumnListHandler(columnName);
        } else if (columnType.equals(Double.class)) {
          resultSetHandler = (ColumnListHandler<T>) new DoubleColumnListHandler(columnName);
        } else if (columnType.equals(BigDecimal.class)) {
          resultSetHandler = (ColumnListHandler<T>) new BigDecimalColumnListHandler(columnName);
        } else {
          resultSetHandler = new ColumnListHandler<T>(columnName);
        }
  
        returnList =
            new QueryRunner(YANK_POOL_MANAGER.getConnectionPool(poolName))
                .query(sql, resultSetHandler, params);
  
      } catch (SQLException e) {
        handleSQLException(e, poolName, sql);
      }
  
      return returnList;
    }
docs: Return a List of Objects from a single table column given an SQL statement
  
  @param poolName The name of the connection pool to query against
  @param sql The SQL statement
  @param params The replacement parameters
  @param columnType The Class of the desired return Objects matching the table
  @return The Column as a List