Java como validar Email

Bom gente ontem estava programando um login e cadastro no java Jframe, mas quando eu validei o email e a senha para saber se existe no banco de dados,

Pensei em colocar a validação para informar se o email existe e que a senha está invalida, porém quando eu informo o email por meio do statement.setString(1, usuario.getUsuario) não consigo pegar o valor setado. No caso o mesmo email que foi setado para ver se condiz com a senha.

Galera se souberem como eu pego esse JPassowrd com getChar me ajudem tbm pffv!.

package model;

public class Usuario {

private int id;
private String usuario;
private String email;
private String senha;

public Usuario(int id, String usuario, String email, String senha) {
    this.id = id;
    this.usuario = usuario;
    this.email = email;
    this.senha = senha;
}

public String getUsuario() {
    return usuario;
}

public void setUsuario(String usuario) {
    this.usuario = usuario;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getSenha() {
    return senha;
}

public void setSenha(String senha) {
    this.senha = senha;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

}

/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package controller;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import model.Usuario;
import util.ConnectionFactory;
import util.UsuarioDAO;
import view.LoginScreen;

/**
*

  • @author Israel
    */
    public class LoginController {

    private LoginScreen view;

    public LoginController(LoginScreen view) {
    this.view = view;
    }

    public void autenticarEmailESenha() {

     try {
         Usuario usuario = new Usuario(0, "usuario", "email", "senha");
    
         //criando objeto do usuarioDao onde está responsavel por retornar os 
         //se existe email e senha no banco de dados
         UsuarioDAO usuarioDAO = new UsuarioDAO();
    
         boolean existeEmailESenha = false;
    
         //Aqui estou criando variavel do tipo email 
         //Onde guardarar o que foi informado no jtexfieldEmail no view
         String email = view.getjTextFieldEmail().getText();
    
         //Aqui estou criando variavel do tipo senha
         //Onde guardarar o que foi informado no jPassowrd  no view
         String senha = view.getjPasswordFieldSenha().getText();
    
         //Aqui seto em usuario o email e senha informado
         usuario.setEmail(email);
         usuario.setSenha(senha);
    
         //Faço a verificação se existe email e senha cadastrado
         //Função executada e guardada no existeEmailSenha
         existeEmailESenha = usuarioDAO.getExisteUsuarioPorEmailESenha(usuario);
    
         if (existeEmailESenha) {
             JOptionPane.showMessageDialog(view, "Login realizado com sucesso");
         } else {
             JOptionPane.showMessageDialog(view, "Email ou Senha invalidos");
         }
    
     } catch (Exception ex) {
         throw new RuntimeException("Erro ao autenticar usuario email, senha " + ex.getMessage(), ex);
    
     }
    

    }

}

Eu não consegui entender o problema. Dê uma revisada no que você escreveu nos primeiros parágrafos.