Ir ao conteúdo

Como fazer Projeto Java com acesso ao MySQL?


leo93santana

Posts recomendados

Postado

Eu tenho uma atividade na escola pra fazer uma aplicação java no NetBeans que acesse um banco de dados do MySQL através de um login. Eu ja fiz a tabela no SQLfront e ja instalei os drivers no NetBeans, e ja consigo fazer a conexão dele com o meu banco de dados. Mas como eu faço para que o meu projeto JavaAplication8 tenho acesso à tabela do MySQL? A ideia é fazer uma tabela de danco de dados com varios "nomes de usuario" e suas respectivas "senhas" e o programa java acessar essa tabela e abrir um JFrame campo de login e senha(que eu fiz no Swing) e tentar fazer o login de acordo com as informações do banco; se tiver certo, ele chama outra janela JFrame, se tiver errado exibe uma mensagem de erro. Só preciso conseguir fazer o acesso ao banco, não preciso editar as informações.

Se puderem ajudar ficarei grato :unsure:

Postado

Normalmente, seria interessante você ter uma classe só para criar e obter conexões, além de uma classe que consulte, altere, apague, etc, dados do banco. Para isso, são utilizadas classes DAO (Data Access Object). Seria algo assim:

Supondo uma tabela Aluno já criada no banco (está tudo em português só pra ser mais didático).

public class AlunoDao
{
private Connection conexao; // a conexão
private PreparedStatement statement; // fluxo de dados com o BD

public AlunoDao(Connection conexao)
{
if (conexao == null)
throw new NullPointerException("conexao"); // não queremos uma conexão nula

this.conexao = conexao;
}

// procura por aluno a partir da sua ID
public Aluno procurarPorId(long id) throws DaoException
{
try
{
String sql = "SELECT * FROM Aluno WHERE Id_aluno = " + id + ";";
statement = conexao.prepareStatement(sql);
ResultSet resultados = statement.executeQuery();
Aluno aluno = new Aluno(resultados.getInt(1), resultados.getString(2));
resultados.close();
statement.close();
return aluno;
}
catch (SQLException exception)
{
throw new DaoException(exception); // abstração, evita que quem utilize a classe (incluindo você mesmo) precise importar SQLException
}
}

// insere um aluno na base de dados
public void inserirAluno(Aluno aluno) throws DaoException
{
try
{
String sql = "INSERT INTO Aluno VALUES (" + aluno.getId() + ", '" + aluno.getNome() + "');";
statement = conexao.prepareStatement(sql);
int linhasInseridas = statement.executeUpdate();
if (linhasInseridas == 0)
throw new DaoException("Erro ao inserir aluno:\n" + aluno);
statement.close();
}
catch (SQLException exception)
{
throw new DaoException(exception);
}
}

// mais métodos
}

E aí, nas suas janelas, bastaria fazer algo como:


UsuarioDao dao = new UsuarioDao(ConexaoUtil.getConexao());
Usuario usuario = new Usuario(nome, senha);
if (dao.contem(usuario)) ...; // usuário e senha ok
else ...; // usuário/senha não localizados

Supondo que um Usuário tenha nome e senha e que esse código aí verifique se existe um dado usuário na base de dados.

E aquela ConexaoUtil sendo uma classe qualquer que mantenha a instância da sua conexão com o BD (não é boa prática deixar a conexão com as janelas), possuindo um método estático que retorne a conexão (getConnection()).

Espero ter ajudado, qualquer dúvida, poster aqui. [;)]

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!