4 - Obtendo a lista de clientes do banco de dados

Agora, na action ListaClientes, vamos corrigir o código de getClientes para que ele obtenha a lista de clientes diretamente do banco de dados. Para isto, iremos construir uma classe que será responsável por se comunicar com o banco de dados. Estas classes são comumente chamadas de DAO (Data Access Objects).

Então, vamos criar uma classe chamada ClienteDao, que será responsável pela persistência dos clientes! Esta classe deverá ter o seguinte código:

package clientesPack;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class ClienteDao {
	private Connection connection;
	
	public ClienteDao() throws SQLException, ClassNotFoundException {
		Class.forName("com.mysql.jdbc.Driver");
		
		String url = "jdbc:mysql://localhost/MyDB";
		String usuario = "root";
		String senha = "admin";

		connection = DriverManager.getConnection(url, usuario, senha);
	}
	
	public List carregaClientes() throws SQLException {
		PreparedStatement stmt = null;
		ResultSet rs = null;

		List lista = new ArrayList();
		
		try {
			stmt = connection.prepareStatement("select * from MyDB.Cliente");
		
			rs = stmt.executeQuery();
		
			while (rs.next()) {
				Cliente c = new Cliente();
				c.setId(rs.getInt("idCliente"));
				c.setNome(rs.getString("nome"));
				c.setDataNascimento(rs.getInt("dataNascimento"));
				c.setEndereco(rs.getString("endereco"));
				c.setComplemento(rs.getString("complemento"));
				c.setCep(rs.getString("cep"));
				c.setTelefone(rs.getString("telefone"));
				lista.add(c);
			}
		}
		finally {
			if (rs != null)
				rs.close();
			if (stmt != null)
				stmt.close();
		}
		
		return lista;
	}

	public void close() throws SQLException {
		connection.close();
	}
}


Como podemos ver, o método carregaClientes carrega todos os clientes que estão na tabela (“select * from MyDB.Cliente”) e os coloca em uma lista de javabeans clientes.

Nesta classe também serão implementados os métodos que são responsáveis por criar, alterar e excluir clientes. Mas primeiro, vamos mostrar os clientes que estão na base de dados. Ainda falta instruir o struts e a tela jsp entender o javabeans cliente. Vamos em frente?

Copyright © 2014 AIEC.