#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; } }
Пожалуйста, также поделитесь логикой для контроллера как частью подсказки или полного кода, если это возможно.