In this post, we will discuss what RowMapper
is and how to use it when writing Jdbc code using Spring JDBC module.
What is RowMapper?
It is an interface of Spring JDBC module which is used by JdbcTemplate
to map rows of java.sql.ResultSet
. It is typically used when you query data.
Example usage of RowMapper
Let's first create a RowMapper
which can map products.
class ProductRowMapper implements RowMapper{ @Override public Product mapRow(ResultSet rs, int rowNum) throws SQLException { Product product = new Product(); product.setId(rs.getInt("id")); product.setName(rs.getString("name")); product.setDescription(rs.getString("description")); product.setCategory(rs.getString("category")); return product; } }
Now, we will use this ProductRowMapper
in #queryForObject of JdbcTemplate
.
Product product = jdbcTemplate.queryForObject("select * from product where id=1", new ProductRowMapper()); log.info(product::toString);
You can find the github code here.