• 0.19.0

Selecting SQL Rows Through JDBC

This is how you fetch all rows from an SQL SELECT query:

public class Main {
  public static void main(String[] args) throws SQLException {
    Collection<String> names = new JdbcSession(source)
      .sql("SELECT name FROM employee WHERE salary > 35000")
      .select(
        new Outcome<Collection<String>>() {
          @Override
          public Collection<String> handle(ResultSet rset) throws SQLException {
            final Collection<String> names = new LinkedList<String>();
            while (rset.next()) {
              names.add(rset.getString(1));
            }
            return names;
          }
        }
      );
  }
}

There is an off-the-shelf SingleOutcome Outcome, which can be used if you interested in the first value of the first row of the SELECT query result set:

public class Main {
  public static void main(String[] args) throws SQLException {
    String name = new JdbcSession(source)
      .sql("SELECT name FROM employee WHERE name = ?")
      .set("Jeff Bridges")
      .select(new SingleOutcome<String>(String.class));
  }
}