Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Deizi Buganti

Programa desktop Java com PostgreSQL

Recommended Posts

Bom dia,

 

Estou desenvolvendo uma aplicação em Java e estou utilizando um banco de dados no PostgreSQL. Vou exemplificar minha dúvida:

Tabelas do banco:

create table tipo_usuario(
    codtipusu integer not null,
    desctipusu varchar(40) not null
);
alter table tipo_usuario add constraint tipo_usuario_pk primary key(codtipusu);
create table usuario(
    codusu integer not null,
    nomusu varchar(40) not null,
    codtipusu integer not null
);
alter table usuario add constraint usuario_pk primary key(codusu);
alter table usuario add constraint usu_codtipusu_fk foreign key(codtipusu) references tipo_usuario(codtipusu);


Quero saber como trabalho no java com essa chave estrangeira que tenho na tabela usuario, pois terei que fazer as ações de inserir dados, deletar, alterar e listar ... Alguns artigos que li, mostram a declaração no java da seguinte maneira:

public class Usuario {
    private long codUsu;
    private String nomUsu;
    private TipoUsuario tipoUsuario;

    // getters e setters
}

public class TipoUsuario {
    private long codTipUsu;
    private String descTipUsu;

    //getters e setters
}

Listando os usuários(exemplo):

public class ManipularUsuario() {
    ManipularPostgresql bd = new ManipularPostgresql(); // classe de conexão com o banco
    private final String SELECT_USUARIO = "select * from usuario";

    public List<Usuario> selectUsuario() throws SQLException {
        Connection con = null;
        List<Usuario> listUsuario = new ArrayList<Usuario>();
        try {
            con = bd.getConnection();
            PreparedStatement prepared = con.prepareStatement(SELECT_USUARIO);

            ResultSet resultSet = prepared.executeQuery();

            while (resultSet.next()) {
                Usuario usuario = new Usuario();
                usuario.setCodUsu(resultSet.getLong("codusu"));
                usuario.setNomUsu(resultSet.getString("nomusu"));
                // AQUI SERIA O OBJETO DO TIPOUSUARIO, COMO FAÇO PARA SETAR?
                listUsuario.add(usuario);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            bd.closeConnnection(con);
        }
        return listUsuario;
    }
}


A chave estrangeira é criada no java como um objeto do TipoUsuario, mas no banco a chave estrangeira é somente o código do tipo_usuario. Na hora de inserir, excluir, alterar e listar, como faço para acessar, sendo que no java tenho um objeto?

Agradeço se alguém puder ajudar.

Atenciosamente,
Deizi

Compartilhar este post


Link para o post
Compartilhar em outros sites
A chave estrangeira é criada no java como um objeto do TipoUsuario

 

não entendi sua duvida.. uma "chave estrangeira" em OO será atributo de uma classe, ou seja, uma coluna (um tipo) como outra qualquer, não "objeto".

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:

      ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
       
      Já tentei de várias formas resolver esse problema, mas não estou conseguindo.

      Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou enfrentando um problema que não consigo entender.

      Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.

      O problema é:
      ---[ após reiniciar o micro, o MySql não faz as conexões.
      --[ tenta localizar este arquivo, mas não acha: my.ini
       
      Onde localizo ou configuro este arquivo na Pasta MySql ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, preciso de ajuda em Relação a Instalar o Jasper Reports no Eclipse, pois a opção de Eclipse Marketplace, não encontra para instalar.
       
      Já tentei de todas as formas mas não consegui, alguém conhece alguma rotina explicando este procedimento ?
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amantes da informática.
       
      Saudações.
       
      Estou usando o Eclipse Mars versão 4.5.0  e o 4.5.2, acredito que deva ter versões mais novas. 
      Sou novato em JAVA e estou encontrando alguns problema em Instalação de alguns plugins, como por exemplo:
       
      1) quando tento instalar o JBoss Tools através do Eclipse Marteplace, o Eclipse não o encontra na lista de plugins.
      2) se tento instalar através do Install New Software, abaixa alguns arquivos, mas também não instala o JBoss.
      3) se abro o site e arrasto o download para a área de trabalho do Eclipse, também não instala o JBoss.
       
      Caros amigos, existe outra alguma forma de instalar o JBoss Tools no Eclipse e como seria ?
       
      Grato,
       
      Cesar
       
       
    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.