Шаблон Spring MVC Hibernate — Выберите электронную почту из таблицы без написания запроса [Страница входа в систему]

#java #mysql #sql #spring-mvc #hibernate-criteria

#Ява #mysql #sql #весна-mvc #спящий режим-критерии

Вопрос:

Я пытаюсь проверить данные для входа, поступающие от пользователей. Электронная почта и пароль-это поле, которое я хочу проверить.

Но я хочу знать, как я могу использовать электронную почту в классе DAO? Мы можем использовать сериализованный идентификатор для извлечения записи, но что в случае электронной почты или других критериев?

Примечание: Я не хочу писать запрос, который:

 select * from admins where email=lt;emailaddressgt;  

Я хочу сделать это с помощью методов, как мы делаем в случае идентификатора (когда у нас есть идентификатор пользователя).

Класс AdminsDao:

 package office.dao;  import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.hibernate5.HibernateTemplate; import org.springframework.stereotype.Component; import office.model.Admins;  @Component public class AdminsDao {   @Autowired  private HibernateTemplate hibernateTemplate;   // create  public void createAdmin(Admins admins) {  this.hibernateTemplate.saveOrUpdate(admins);  }   // list  public Listlt;Adminsgt; getAdmins() {  Listlt;Adminsgt; admins = this.hibernateTemplate.loadAll(Admins.class);  return admins;  }   // delete  public void deleteAdmin(int id) {  Admins admin = this.hibernateTemplate.load(Admins.class, id);  this.hibernateTemplate.delete(admin);  }   // get by id  public Admins getAdminById(int id) {  return this.hibernateTemplate.get(Admins.class, id);  }   // get by email  public String getAdminByEmail(String email) {  String value = null;  // logic here  return value;  } }  

Администраторы (класс сущностей):

 package office.model;  import java.time.LocalDateTime; import javax.persistence.*;  @Entity public class Admins {  @Id  @GeneratedValue(strategy = GenerationType.AUTO)  private int id;  private String name, email, phone, password;  private LocalDateTime datetime;  public int getId() {  return id;  }  public void setId(int id) {  this.id = id;  }  public String getName() {  return name;  }  public void setName(String name) {  this.name = name;  }  public String getEmail() {  return email;  }  public void setEmail(String email) {  this.email = email;  }  public String getPhone() {  return phone;  }  public void setPhone(String phone) {  this.phone = phone;  }  public String getPassword() {  return password;  }  public void setPassword(String password) {  this.password = password;  }  public LocalDateTime getDatetime() {  return datetime;  }  public void setDatetime(LocalDateTime datetime) {  this.datetime = datetime;  }    }  

Пожалуйста, также поделитесь логикой для контроллера как частью подсказки или полного кода, если это возможно.