Banco de Dados - Boas práticas (Dicas úteis)

Olá pessoal
Sou mais um novato com uma porção de dúvidas a respeito de Bancos de Dados e venho pedir a ajuda da comunidade para fazer a coisa certa e não um monte de gambiarras.
Embora minha convivência em computação seja bem grande, meu conhecimento em Java é limitado. Eu uso o Netbeans e estou acessando a base de dados Oracle da empresa, a qual eu administro.
Não tenho problemas com o SQL e montagens de querys, nisso eu já me viro legal faz tempo, eu quero saber como eu faço para trabalhar com o Oracle dentro do Java.
Minhas principais dívidas/dificuldades são:

  • Quando eu crio um programa, eu faço um objeto/classe para realizar a conexão com o BD via JDBC, então crio minhas telas (JFrames), cada uma para um processo específico, o problema começa aqui: Para cada tela eu tenho que criar uma conexão com o BD, ou tem como eu criar um objeto/classe “Global” e acessá-la de qualquer lugar?
  • Quando eu crio objetos no meu form (Tables, Textbox, etc) como eu faço para vinculá-los a dados específicos do BD, por exemplo: Eu crio uma Table com uma listagem parcial de uma query, quando eu clico em uma linha específica, uma série de text bos abaixo são preencidos com os valores referentes a linha selecionada na Table?
    Sei que isso é chato e agradeço enormemente qualquer ajuda que puderem me conceder.
    Marcos Malfatti

Aew…
Então quanto a primeira pergunta , voce tem conheçimento em OO ?
Voce pode fazer uma classe DAO de acesso ao banco ai sempre que vc for utilizar o banco voce instancia…
dependendo da situação voce pode trabalhar com generic , polimorfismo… etc… ou voce pode optar por uma
framework ORM… ou seja Hibernate mas acho que isso não sera muito viavel no seu caso ja que o seu banco ja esta criado… etc…
quanto a grid e essas coisas eu não desenvolvo para desktop mas acho que eles aceitão Collection … como não tenho muito conheçimento em swing… não sei como faz a grid preencher os texts mas acho que deve ter algum metodo que retorno o id da linha ou alguma coisa do tipo apartir disso voce pode fazer uma busca no banco e preencher os texts.

flw! espero ter ajudado qualquer duvida poste ai!

Geralmente eu utilizo uma classe chamada de ConnectionFactory que faz a conexão com o banco de dados. Depois eu utilizo um modelo de classe com os mesmo nomes dos campos inseridos na tabela que eu vou utilizar, por exemplo: tenho uma tabela chamada contatos, que tem os campos id, nome, telefone, email, opcao_sexual esses campos vão ser o modelo da classe Contatos.java, assim:

public class Contatos
{
    private Long id;
    private String nome;
    private String telefone;
    private String email;
    private String opcao_sexual;

    //métodos get e set

}

depois eu crio uma classe DAO chamada de ContatosDAO.java e instancio a classe ConnectionFactory() que possui um método chamado getConnection() responsável pela conexão ao banco de dados assim:

public class ContatosDAO
{
    private Connection connection;

    public ContatosDAO()throws SQLException
    {
             connection = ConnectionFactory().getConnection();
     }
}

… lembre-se os métodos de conexão devem ser estáticos. Isso evita a chamada do NEW toda vez que for utiliza-la, lembrando também que os métodos estáticos podem ser acessado diretamente sem serem declarado ou instanciados.