Question: I want to create a list with my database field values.
There are 2 columns, name and surname.
I want to create a list that stores all names in name column in a field and then add to my DTO.

Is this possible?

Answer: 
**Steps you can follow**: -

* First you need to have a `List<String>` that will store all your names. Declare it like this: -

```
List<String> nameList = new ArrayList<String>();

```
* Now, you have all the records fetched and stored in `ResultSet`. So I assume that you can iterate over `ResultSet` and get each `values` from it. You need to use `ResultSet#getString` to fetch the `name`.
* Now, each time you fetch one record, get the `name` field and add it to your list.

```
while(resultSet.next()) {
    nameList.add(resultSet.getString("name"));
}

```
* Now, since you haven't given enough information about your `DTO`, so that part you need to find out, how to add this `ArrayList` to your `DTO`.
* The above `list` only contains `name` and not `surname` as you wanted only `name`. But if you want both, you need to create a custom DTO `(FullName)`, that
contains `name` and `surname` as fields. And instantiate it from
every `ResultSet` and add it to the `List<FullName>`
JDBC unfortunately doesn't offer any ways to conveniently do this in a one-liner. But there are other APIs, such as [jOOQ](http://www.jooq.org) (disclaimer: I work for the company behind jOOQ):

```
List<DTO> list =
DSL.using(connection)
   .fetch("SELECT first_name, last_name FROM table")
   .into(DTO.class);

```

Or [Spring JDBC](http://projects.spring.io/spring-data/)

```
List<DTO> list =
new JdbcTemplate(new SingleConnectionDataSource(connection, true))
   .query("SELECT first_name, last_name FROM table", (rs, rowNum) ->
       new DTO(rs.getString(1), rs.getString(2));

```

Or [Apache DbUtils](http://commons.apache.org/proper/commons-dbutils/):

```
List<DTO> list =
new QueryRunner()
   .query(connection, 
          "SELECT first_name, last_name FROM table", 
          new ArrayListHandler())
   .stream()
   .map(array -> new DTO((String) array[0], (String) array[1]))
   .collect(Collectors.toList());

```

I've used Java 8 for the Spring JDBC / Apache DbUtils examples, but it can be done with older versions of Java as well.