Boa tarde. Gostaria de tirar umas dúvidas.
Estou migrando para java uma pequena aplicação desktop… e em outras linguagens, costumo programar desta maneira:
-
Primeira classe para a aplicação;
-
Segunda Classe para retornar uma conexão da aplicação com o banco e depois fechar essa conexão quando solicitado;
-
Terceira classe onde armazenará as SQL’s, solicitando abertura e fechamento de conexões com o banco, usando a segunda classe, nesta sequencia: ABRE CONEXÃO, ENVIA SQL PRO SGBD RETORNANDO RESULTADO, FECHA CONEXÃO.
Perguntas:
1 - Posso continuar sempre modularizando desta maneira programando em Java?
2 - Na minha terceira classe, eu utilizo o construtor dela para instanciar um obj CONNECTION da segunda classe abrindo a conexão por lá. Posso utilizar tipo um destrutor para fechar esta conexão? Como faço isso em Java?
3 - Se eu fizer uma busca incremental em meu banco pela aplicação, tipo escrevendo em um JTextField letra após letra e após cada entrada de caracter a aplicação fazer uma consulta no banco filtrando os resultados de um select procurando por um nome, por exemplo, e mostrando tudo em um grid. Se for num ambiente cliente/servidor a rede vai ficar super congestionada se cada cliente fizer uma solicitação destas em cada letra do nome a ser pesquisado.
Temos alguma maneira em java de colocar a cópia de um resultado parcial em memória e depois pesquisarmos em cima dessa cópia? como um clientdataset do Delphi? Qual a alternativa para se fazer isso?
Obrigado.
Abraço a todos.