Login Java Desktop e método de comparação de Strings[Resolvido]

Pessoal boa noite,

              Estou desenvolvendo uma aplicação bem simples de um controle de estoque e queria implementar nela uma autenticação por login. No meu BD eu tenho uma tabela Usuario que possui apenas dois campos, Nome e senha. Basicamente a minha duvida é de como eu faria a checagem em toda minha tabela para sabr se aquele nome e aquela senha existem em uma mesma linha, para que quando o usuario clicar no botao de Login esse método seja disparado e o usuario siga para minha pagina Menu(); ou então retorne uma JOptionPane informado o erro.

Até agora eu consegui o seguinte, mas não sei se estou no caminho certo.

Meu formulario está da seguinte forma(botoes e métodos)!

    private void jBsenhaActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
            altera();
        } catch (SQLException ex) {
            Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
        }

    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        System.exit(0);
    }                                        

     public void altera() throws SQLException {
       

            Usuario u = new Usuario();

            u.setNome(jTUsuario.getText());
            u.setSenha(jBsenha.getText());
            LoginDAO dao = new LoginDAO();

            dao.getCheca(u);                   
      

    }

Minha Classe DAO.

package store.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import store.formularios.Menu;
import store.logica.Usuario;

/**
 *
 * @author Thalles
 */
public class LoginDAO {


            public void getCheca(Usuario u) throws SQLException{
          try {
             Class.forName("com.mysql.jdbc.Driver").newInstance();
          }catch (Exception e) {

          }


             Connection coneccao = DriverManager.getConnection("jdbc:mysql://localhost/gamestore","root","123");
             PreparedStatement sql=coneccao.prepareStatement("Select * from usuario where nome=? and senha=?");
             sql.setString(1, u.getNome());
             sql.setString(2, u.getSenha());

             ResultSet resultado= sql.executeQuery();

             if ( resultado.next() ){

             if(u.getNome().equalsIgnoreCase(resultado.getString("nome")) && u.getSenha().equalsIgnoreCase(resultado.getString("senha"))){
                 new Menu().show();

             }else{
                JOptionPane.showMessageDialog(null,"Usuário ou senha incorretos!");
             }


             resultado.close();
             coneccao.close();
              }


    }

}

Alguém pode me dar um Help, eu não queria nada muito complexo, então se alguém me mostrar apenas como comparar as informações digitadas pelo usuario com as que eu tenho no banco, ficaria muito grato.

Obrigado pela atenção desde já!

Basicamente, quando vc faz esse SELECT: Select * from usuario where nome=? and senha=?, vai acontecer o seguinte:

  • Se o usuário digitou corretamente os campos de nome e senha, o select irá retornar um resultado de uma linha.
  • Se o usuário digitou errado o login OU a senha, o select será vazio.

Portanto, o correto seria:

             if ( resultado.next() ){  //se o select tiver resultados
                 new Menu().show();  //já abre a tela
             }else{  //senão mostra uma mensagem
                JOptionPane.showMessageDialog(null,"Usuário ou senha incorretos!");  
             }  

Você não precisa fazer comparação de Strings, o próprio select já fez pra vc.

Putz, multissimo obrigado pela atenção Eliangela, deu certo aqui.

Valeu mesmo. ^^