Package io.ebean
Interface RowMapper<T>
- Type Parameters:
T
- The type the row data is mapped into.
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Used with SqlQuery to map raw JDBC ResultSet to objects.
This provides a low level mapping option with direct use of JDBC ResultSet with the option of having logic in the mapping. For example, only map some columns depending on the values read from other columns.
For straight mapping into beans then DtoQuery would be the first choice as it can automatically map the ResultSet into beans.
//
// Map from ResultSet to CustomerDto bean
//
class CustomerMapper implements RowMapper<CustomerDto> {
@Override
public CustomerDto map(ResultSet rset, int rowNum) throws SQLException {
long id = rset.getLong(1);
String name = rset.getString(2);
String status = rset.getString(3);
return new CustomerDto(id, name, status);
}
}
//
// Then use the mapper
//
String sql = "select id, name, status from o_customer where name = ?";
CustomerDto rob = DB.sqlQuery(sql)
.setParameter(1, "Rob")
.mapTo(CUSTOMER_MAPPER)
.findOne();
-
Method Summary
-
Method Details
-
map
Read the data from the ResultSet and map to the return type.- Parameters:
resultSet
- The JDBC ResultSet positioned to the current rowrowNum
- The number of the current row being mapped.- Throws:
SQLException
-