tô fazendo um módulozinho em java…
e me surgiu uma dúvida…
sobre os comandos SQL de cada classe…
Segundo as “boa práticas” da linguagem: é correto deixá-los todos em uma classe ( por exemplo na classe conexaoDB )…
ou coloco-os nas classes que são relacionados ( por exemplo SelectInspecao, na classe inspecao )… ???
Acho que você poderia fazer uma classe só com os sqls e chamá-los depois dentro da aplicação onde for necessário, na questão de orientação fica mais organizado.
O que eu costumo fazer é utilizar uma classe de DAO (Data Access Object) para cada classe de modelo.
Pra uma Classe de modelo Inspecao, eu teria uma Classe InspecaoDAO com os métodos insert, update e delete somente pra tabela inspecao.
Deste jeito eu acho que fica bem maneiro de observar a orientação a objetos e organizar a linha de pensamento. A curto prazo fica mais trabalhoso, mas ao tempo que o projeto cresce, fica muito mais organizado.
Para cada tabela do meu banco eu criaria uma classe em especifico contendo todos os métodos necessários: insert, delete, update, select.
Sendo assim se eu tiver uma tabela em meu banco chamada VALOR_USUARIO eu criaria uma classe chamada ValorUsuario.java contendo todos esses métodos.
A classe ValorUsuario estenderia ou extends a minha classe responsável pela comunicação com a base de dados chamada Databese ou ConexaoDB. É nela que teria os métodos como:
Connect, commit, RollBack, SelectResultSet etc… e poderia utiliza-los como quiser em minha classe ValorUsuario.java
Hoje em dia o mais aconselhavel é usar um framework de persistencia ORM como hibernate, ele cuida de manipular os sqls pra voce e voce nao precisa usar sequer uma linha de sql em nenhuma parte do seu projeto! sem falar da extrema facilidade em se utilizar outros bancos de dados, em mibrar de banco, etc, aconselho fortemente que voce utilize o hibernate, porem as ideias dos amigos acima sao totalmente validas e preciosas! estude o padrao de projeto DAO, e tambem o padrao Repository, vai ver que depois de ter isto em maos, seu desenvolvimento nao sera mais o mesmo! palavra de quem ja passou por ai!