Duvida java e parte Dao

6 respostas
bruwww

Estou desenvolvendo um sistema bem básico de emissão de boletins escolares.
Já criei a parte DAO com os comandos sql, direitinho
O problema é na parte do código da janela, na hora de chamar o método da parte DAO
Não sei o que fazer, se alguém souber esclarecer, já agradeço.

Parte DAO:

public void adiciona(Aluno a) throws SQLException {
        String sql = "insert into alunos(alu_nome, alu_serie)" + "values(?,?)";
        PreparedStatement stmt = conexao.prepareStatement(sql);
        stmt.setString(1, a.getNome());
        stmt.setInt(2, a.getSerie());

        stmt.execute();
        stmt.close();

    }

Agora gostaria de saber qual códico colocar ao executar o evento de clicar no botão incluir, pegando os textos dos textFields e incluindo no método Dao.

6 Respostas

drsmachado

Basicamente

//metodo actionPerformed
String txtField1 = txtField1.getText();
//assim por diante
MeuDAO mdao = new MeuDAO();
mdao.metodoDePreparoDaConexao();
mdao.metodoQueQuero(parametrosNecessarios);
Elizeu_Santos

ah, e faça assim:

String sql = "insert into alunos(alu_nome, alu_serie) values(?,?)";

fica mais organizado.

drsmachado

Elizeu_Santos:
ah, e faça assim:

String sql = "insert into alunos(alu_nome, alu_serie) values(?,?)";

fica mais organizado.

Isso não altera em nada a forma como a String será gerada, mas tudo bem…

Margel_Douglas

Bom só pra acrescentar, não é uma boa prática ter SQL diretamente no código,
é recomendado guardar elas em um arquivo .properties ou algo assim, fica mais organizado :wink:

E sobre como utilizar os métodos da sua DAO na parte de vizualização (VIEW), seria bom vc ter
uma classe controle, algo como uma “AlunoService” que chamaria os métodos da tua DAO

Isso vem do padrão MVC, se ainda não conhece esse padrão de modelagem é interessante dar uma estudada

Kanin_Dragon

Linda Jovem,

Recomendo estudar o designer pattern MVC, pelo seu questionamento podemos notar que você deseja chamar o DAO diretamente da camada View isto é um anti-pattern.

Bjos,

JonaTHANNM

basicamente isso:

Aluno aluno = new Aluno();
aluno.setNome(txtFieldNome.getText());
aluno.setSerie(txtFieldSerie.getText());

AlunoDAO alunoDAO = new AlunoDAO();
alunoDAO.adiciona(aluno);
Criado 2 de junho de 2011
Ultima resposta 2 de jun. de 2011
Respostas 6
Participantes 6