Java 如何在spring和hibernate中从查询列表中获取用户名和密码
我试图通过使用SpringMVC和Hibernate从数据库中检查它的值来验证它是否是注册用户。我真的不知道如何做到这一点,我已经搜索了很多网站,但没有得到解决方案 我的豆类是Java 如何在spring和hibernate中从查询列表中获取用户名和密码,java,hibernate,spring-mvc,Java,Hibernate,Spring Mvc,我试图通过使用SpringMVC和Hibernate从数据库中检查它的值来验证它是否是注册用户。我真的不知道如何做到这一点,我已经搜索了很多网站,但没有得到解决方案 我的豆类是 package net.codejava.spring.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.p
package net.codejava.spring.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "USERS")
public class User {
private int id;
private String username;
private String password;
private String email;
private String phno;
private String address;
public String getPhno() {
return phno;
}
public void setPhno(String phno) {
this.phno = phno;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Id
@GeneratedValue
@Column(name = "id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
package net.codejava.spring.dao;
import java.util.List;
import net.codejava.spring.model.User;
public interface UserDAO {
public List<User> list();
public User get(int id);
public void saveOrUpdate(User user);
public void delete(int id);
package net.codejava.spring.dao;
import java.util.List;
import net.codejava.spring.model.User;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository
public class UserDAOImpl implements UserDAO {
@Autowired
private SessionFactory sessionFactory;
public UserDAOImpl() {
}
public UserDAOImpl(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@Override
@Transactional
public List<User> list() {
@SuppressWarnings("unchecked")
List<User> listUser = (List<User>) sessionFactory.getCurrentSession()
.createCriteria(User.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
return listUser;
}
@Override
@Transactional
public void saveOrUpdate(User user) {
sessionFactory.getCurrentSession().saveOrUpdate(user);
}
@Override
@Transactional
public void delete(int id) {
User userToDelete = new User();
userToDelete.setId(id);
sessionFactory.getCurrentSession().delete(userToDelete);
}
@Override
@Transactional
public User get(int id) {
String hql = "from User where id=" + id;
Query query = sessionFactory.getCurrentSession().createQuery(hql);
@SuppressWarnings("unchecked")
List<User> listUser = (List<User>) query.list();
if (listUser != null && !listUser.isEmpty()) {
return listUser.get(0);
}
return null;
}
}
我的刀课是
package net.codejava.spring.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "USERS")
public class User {
private int id;
private String username;
private String password;
private String email;
private String phno;
private String address;
public String getPhno() {
return phno;
}
public void setPhno(String phno) {
this.phno = phno;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Id
@GeneratedValue
@Column(name = "id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
package net.codejava.spring.dao;
import java.util.List;
import net.codejava.spring.model.User;
public interface UserDAO {
public List<User> list();
public User get(int id);
public void saveOrUpdate(User user);
public void delete(int id);
package net.codejava.spring.dao;
import java.util.List;
import net.codejava.spring.model.User;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository
public class UserDAOImpl implements UserDAO {
@Autowired
private SessionFactory sessionFactory;
public UserDAOImpl() {
}
public UserDAOImpl(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@Override
@Transactional
public List<User> list() {
@SuppressWarnings("unchecked")
List<User> listUser = (List<User>) sessionFactory.getCurrentSession()
.createCriteria(User.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
return listUser;
}
@Override
@Transactional
public void saveOrUpdate(User user) {
sessionFactory.getCurrentSession().saveOrUpdate(user);
}
@Override
@Transactional
public void delete(int id) {
User userToDelete = new User();
userToDelete.setId(id);
sessionFactory.getCurrentSession().delete(userToDelete);
}
@Override
@Transactional
public User get(int id) {
String hql = "from User where id=" + id;
Query query = sessionFactory.getCurrentSession().createQuery(hql);
@SuppressWarnings("unchecked")
List<User> listUser = (List<User>) query.list();
if (listUser != null && !listUser.isEmpty()) {
return listUser.get(0);
}
return null;
}
}
包net.codejava.spring.dao;
导入java.util.List;
导入net.codejava.spring.model.User;
公共接口UserDAO{
公共列表();
公共用户get(int-id);
公共作废保存或更新(用户);
公共无效删除(int id);
}
我的DaoImpl课程是
package net.codejava.spring.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "USERS")
public class User {
private int id;
private String username;
private String password;
private String email;
private String phno;
private String address;
public String getPhno() {
return phno;
}
public void setPhno(String phno) {
this.phno = phno;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Id
@GeneratedValue
@Column(name = "id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
package net.codejava.spring.dao;
import java.util.List;
import net.codejava.spring.model.User;
public interface UserDAO {
public List<User> list();
public User get(int id);
public void saveOrUpdate(User user);
public void delete(int id);
package net.codejava.spring.dao;
import java.util.List;
import net.codejava.spring.model.User;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository
public class UserDAOImpl implements UserDAO {
@Autowired
private SessionFactory sessionFactory;
public UserDAOImpl() {
}
public UserDAOImpl(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@Override
@Transactional
public List<User> list() {
@SuppressWarnings("unchecked")
List<User> listUser = (List<User>) sessionFactory.getCurrentSession()
.createCriteria(User.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
return listUser;
}
@Override
@Transactional
public void saveOrUpdate(User user) {
sessionFactory.getCurrentSession().saveOrUpdate(user);
}
@Override
@Transactional
public void delete(int id) {
User userToDelete = new User();
userToDelete.setId(id);
sessionFactory.getCurrentSession().delete(userToDelete);
}
@Override
@Transactional
public User get(int id) {
String hql = "from User where id=" + id;
Query query = sessionFactory.getCurrentSession().createQuery(hql);
@SuppressWarnings("unchecked")
List<User> listUser = (List<User>) query.list();
if (listUser != null && !listUser.isEmpty()) {
return listUser.get(0);
}
return null;
}
}
包net.codejava.spring.dao;
导入java.util.List;
导入net.codejava.spring.model.User;
导入org.hibernate.Criteria;
导入org.hibernate.Query;
导入org.hibernate.SessionFactory;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.stereotype.Repository;
导入org.springframework.transaction.annotation.Transactional;
@存储库
公共类UserDAOImpl实现UserDAO{
@自动连线
私人会话工厂会话工厂;
公共UserDAOImpl(){
}
public UserDAOImpl(SessionFactory SessionFactory){
this.sessionFactory=sessionFactory;
}
@凌驾
@交易的
公开名单(){
@抑制警告(“未选中”)
List listUser=(List)sessionFactory.getCurrentSession()
.createCriteria(User.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
返回列表用户;
}
@凌驾
@交易的
公共无效保存或更新(用户){
sessionFactory.getCurrentSession().saveOrUpdate(用户);
}
@凌驾
@交易的
公共无效删除(int-id){
User userToDelete=新用户();
userToDelete.setId(id);
sessionFactory.getCurrentSession().delete(userToDelete);
}
@凌驾
@交易的
公共用户get(int-id){
String hql=“来自用户,其中id=”+id;
Query Query=sessionFactory.getCurrentSession().createQuery(hql);
@抑制警告(“未选中”)
List listUser=(List)query.List();
if(listUser!=null&&!listUser.isEmpty()){
返回listUser.get(0);
}
返回null;
}
}
提供用户列表的主控制器类方法是
@RequestMapping("/list")
public ModelAndView handleRequest() throws Exception {
List<User> listUsers = userDao.list();
ModelAndView model = new ModelAndView("UserList");
model.addObject("userList", listUsers);
return model;
}
@RequestMapping(“/list”)
public ModelAndView HandlerRequest()引发异常{
List listUsers=userDao.List();
ModelAndView模型=新的ModelAndView(“用户列表”);
addObject(“用户列表”,listUsers);
收益模型;
}
这里我想要一个方法,它可以为我提供用户名和密码,这样我就可以验证它们。请原谅我,但是我没有找到任何好的解决方案你想要查看用户名和密码吗?不,我想要数据库中的用户名和密码,这样我就可以在我的登录页面上检查它们。你已经有了
列表用户
,你可以用它来获取用户名和密码。我真的不知道如何使用它,因为我是Spring和Hibernate的新手。它与Spring和Hibernate无关。迭代列表listUsers
并为每个User
对象调用getPassword()
方法。