Duvidas sobre tela de login

Estou com problemas para fazer uma tela de login e senha já criei a tabela, mas não estou obtendo sucesso segue meu código abaixo não da erro mas também não executa.

public void verificaDados(){
if(jtxtlogin.getText().equals("") || jPasSenha.getText().equals("")){

        JOptionPane.showMessageDialog(null, "Campos não preenchidos.");

    }else{
        try{
            
            String sql = "SELECT * FROM login WHERE usuario like'"+
              jtxtlogin.getText()+"'and senha like'"+jPasSenha.getPassword()+"'";
              PreparedStatement ps = (PreparedStatement) con.getConexao().prepareStatement(sql);
              
              ps.execute();

              ResultSet rs = ps.executeQuery();

             if(rs.first()){
                 Cadfunc cad = new Cadfunc();
                 cad.setCodigo(Integer.valueOf(rs.getInt("idlogin")));
                 cad.setNome(rs.getString("nome"));
                 cad.setUsuario(rs.getString("usuario"));
                 cad.setSenha(rs.getString("senha"));

                 ps.close();
                 rs.close();

                JOptionPane.showMessageDialog(null, "Bem vindo."+jtxtlogin.getText());
                Login l = new Login();
                l.dispose();
                Cadastro c = new Cadastro();
                c.show();
             }

        }catch(Exception e){

            JOptionPane.showMessageDialog(null, "Campos não preenchidos."+e.getMessage());

        }


}

}

}