Técnico

Spring & JDBC

O Spring Framework facilita o trabalho com JDBC pois usufrui de IoC para eliminar o desenvolvimento baixo-nível. Se você não utiliza frameworks ORM, esta API se torna altamente recomendável. Segue comparação entre JDBC puro e utilizando o JdbcTemplate do Spring:


Exemplo 1: Criando uma lista de objetos utilizando JDBC puro

PreparedStatement ps = connection.prepareStatement("Select name, email from t_users where status = ?");
ps.setInt(1, new Integer(1));

ResultSet rs = ps.executeQuery();
List users = new ArrayList();

while (rs.next()) {
User user = new User();
user.setName(rs.getString("name"));
user.setEmail(rs.getString("email"));
users.add(user);
}

return users;

Além de ser obrigatório tratar open/close de conexões.

Exemplo 2: Criando uma lista de objetos utilizando Spring & JDBC

Devemos utilizar a classe JdbcTemplate, injetando o dataSource atual (new JdbcTemplate(dataSource)). Além disso, devemos fazer uma nova classe que implemente a interface RowMapper para criar o objeto. Em seguida podemos criar uma lista de objetos com apenas uma linha de código:


return (List) jdbcTemplate.query("Select name, email from t_users where status = ?",
new Object[] { new Integer(1) }, new UserRowMapper());

Exemplo de RowMapper:


public class UserRowMapper implements RowMapper {
@Override
public Object mapRow(ResultSet rs, int numRow) throws SQLException {
User user = new User();
user.setName(rs.getString("name"));
user.setEmail(rs.getString("email"));

return user;
}
}

Referência completa: http://static.springframework.org/spring/docs/2.0.x/reference/jdbc.html

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Compartilhe isso: