[size=9]OLÁ PESSOAL, ESTOU DESENVOLVENDO UMA APLICAÇÃO PELA PRIMEIRA VEZ UTILIZANDO PADRÃO DE PROJETO MVC, MAS AINDA NÃO DOMINEI SOBRE ESSE ASSUNTO,
GOSTARIA QUE VCS ME DESSEM UM AJUDINHA PARA QUE EU CONSIGA SANAR DE VEZ MINHAS DÚVIDAS, ESTOU POSTANDO AQUI O CÓDIGO PARA QUE VCS POSSAM DAR UMA OLHADA
E ANALISAR PARA MIM POR GENTILEZA SE ESTÁ FALTANDO ALGO NA MINHA APLICAÇÃO E SE ELA ESTÁ BEM ORGANIZADA, SOBRE AS DÚVIDAS É O SEGUINTE: ESTOU COMENTENDO UM ERRO E NÃO ESTOU SABENDO COMO CORRIGI-LO, EM MINHAS OUTRAS
APLICAÇÕES ONDE EU NUNCA HAVIA USADO PADRÃO DE PROJETO EU TRABALHAVA COM RESULTSET PARA RETORNO DOS DADOS DO BD AO INVES DE LIST, E APOS REALIZAR ALGUMAS PERGUNTAS AQUI
NO FORUM EU VI QUE ISSO É UMA MÁ PRÁTICA, AGORA, GOSTARIA DE TRABALHAR COM LIST NESSA MINHA APLICAÇÃO, MAS INFELIZMENTE POR AINDA NÃO SABER TRABALHAR CORRETAMENTE COM PADRÃO DE PROJETO
EU NÃO SEI ONDE DEVO ADICIONAR ESSES OBJETOS A MINHA LISTA, SE SERIA NA CAMADA DE PERSISTENCIA OU NE OUTRA CAMADA E TALLS, PORTANTO GOSTARIA QUE VCS APOS DAREM UMA OLHADA NO MEU CODIGO
ME INDICASSEM ONDE DEVO COLOCAR MINHA LIST PARA PODER TRABALHAR CORRETAMENTE COM MEUS OBJETOS
EU QUERO UTILIZAR ESSES OBJETOS ADICIONADOS NA MINHA LIST EM UM METODO CRIADO NO MEU FORM QUE AO ABRIR MINHA APLICAÇÃO IRÁ RETORNAR O PRIMEIRO DADO CONTIDO NA PRIMEIRA POSIÇÃO DA MINHA LISTA
SÓ QUE ATÉ O MOMENTO EU ESTAVA ADD OS OBJETOS NA MINHA LISTA NA CAMADA DE VISÃO MESMO, SÓ QUE AO BUSCA-LOS EU RECEBIA O RETORNO DE QUE MINHA LISTA ESTAVA VAZIA, SENDO QUE O MEU BD ESTÁ CHEIO DE DADOS,
PORTANTO NÃO ESTOU SABENDO ONDE ESTARIA ESSE ERRO E POR ISSO ME RECORRO A VCS, POSTEI AQUI APENAS UMA PARTE DO CODIGO ONDE ACHO QUE ESTARIA JÁ SUFICIENTE PARA QUE VEJAM O QUE ESTOU FAZENDO,
SE VCS TIVEREM TAMBÉM UM ARTIGO QUE DÁ UMA BOA EXPLICAÇÃO SOBRE ESSA ORGANIZAÇÃO QUE DEVE SER FEITA EM UM PADRÃO MVC EU FICARIA AINDA MAIS AGRADECIDO
OBRIGADO GALERA!!!
MINHAS CAMADAS:[/size]
DOMINIO:
public class cliente {
private int codigo;
private String nome;
private String endereco;
private int numero;
private String bairro;
private String cidade;
private String estado;
private String cpf;
private String rg;
private String telefone;
private String datanasc;
private String infoadd;
//E SEUS RESPECTIVOS GETERS E SETERS ALEM DO CONSTRUTOR
}
CONTROLE:
public class AcaoCadastroCliente {
public AcaoCadastroCliente() {
}
public boolean salvar(cliente cliente) {
cad_clienteDAO pdao = new cad_clienteDAO();
pdao.salvar(cliente);
return true;
}
public boolean editar(cliente cliente) {
cad_clienteDAO pdao = new cad_clienteDAO();
pdao.editar(cliente);
return true;
}
public cliente buscar_por(int codigo) {
Interface_cad_cliente pdao = Factory.createcad_clienteDAO();
cliente p = pdao.buscar_por(codigo);
return p;
}
public List recuperar() throws SQLException {
Interface_cad_cliente dao = Factory.createcad_clienteDAO();
return dao.recuperar();
}
PERSISTENCIA:
public class cad_clienteDAO extends conexao.ConexaoDAO implements Interface_cad_cliente {
public cad_clienteDAO() {
this.criarConexao();
}
public void salvar(cliente cliente) {
String sql = ("INSERT INTO cliente (cli_nome, cli_endereco, cli_numero, cli_bairro, cli_cidade, cli_estado, cli_cpf, cli_rg, cli_tel, cli_datanasc, cli_infoadd) " +
"VALUES ( " +
"'" + cliente.get_nome() + "', " +
"'" + cliente.get_endereco() + "', " +
"'" + cliente.get_numero() + "', " +
"'" + cliente.get_bairro() + "', " +
"'" + cliente.get_cidade() + "', " +
"'" + cliente.get_estado() + "', " +
"'" + cliente.get_cpf() + "', " +
"'" + cliente.get_rg() + "', " +
"'" + cliente.get_telefone() + "', " +
"'" + cliente.get_datanasc() + "'," +
"'" + cliente.get_infoadd() + "')");
try {
this.criarConexao();
stmt.execute(sql);
this.fecharConexao();
}
catch(SQLException ex) {
ex.printStackTrace();
}
}
public void editar(cliente cliente) {
String sql = "";
if(cliente.get_codigo() != 0) {
cliente p1 = (cliente) buscar_por(cliente.get_codigo());
if( p1 != null ) {
sql = "Update cliente SET " +
" cli_nome = '" + cliente.get_nome() + "', " +
" cli_endereco = '" + cliente.get_endereco() + "', " +
" cli_numero = '" + cliente.get_numero() + "' " +
" cli_bairro = '" + cliente.get_bairro() + "' " +
" cli_cidade = '" + cliente.get_cidade() + "' " +
" cli_estado = '" + cliente.get_estado() + "' " +
" cli_cpf = '" + cliente.get_cpf() + "' " +
" cli_rg = '" + cliente.get_rg() + "' " +
" cli_tel = '" + cliente.get_telefone() + "' " +
" cli_datanasc = '" + cliente.get_datanasc() + "' " +
" cli_infoadd = '" + cliente.get_infoadd() + "' " +
" WHERE cli_codigo = " + cliente.get_codigo();
}
}
}
public cliente buscar_por(int codigo) {
List result = null;
try {
result = this.executarSelect("SELECT * FROM cliente where cli_codigo = " + codigo);
} catch (SQLException ex) {
Logger.getLogger(cad_clienteDAO.class.getName()).log(Level.SEVERE, null, ex);
}
if(result.size() > 0)
return (cliente)result.get(0);
return null;
}
public List recuperar() throws SQLException {
return this.executarSelect("SELECT * FROM cliente");
}
FORA ISSO TEM A CAMADA DE VISÃO ONDE ESTÁ CONTIDA MEU FORM E NA CAMADA DE PERSISTENCIA TAMBÉM ESTÁ CONTIDA
UMA CLASSE PARA MINHA CONEXÃO FEITA COM O BD E UMA INTERFACE ONDE SERÃO EXECUTADOS OS RESPECTIVOS METODOS
ERRO RETORNADO EM RELAÇÃO A LISTA
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
