猿问

无论输入什么帐号密码都没有通过action成功转跳

提交表单后控制台输出语句

WARN: [DEPRECATION] Encountered positional parameter near line 1, column 34 in HQL: [from entity.Users where username=? and password=? ].  Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.

三月 01, 2018 6:34:23 下午 org.hibernate.hql.internal.ast.HqlSqlWalker generatePositionalParameter

WARN: [DEPRECATION] Encountered positional parameter near line 1, column 49 in HQL: [from entity.Users where username=? and password=? ].  Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.

Hibernate: 

    select

        users0_.uid as uid1_1_,

        users0_.username as username2_1_,

        users0_.password as password3_1_ 

    from

        USERS users0_ 

    where

        users0_.username=? 

        and users0_.password=?

public class UserDAOImpl implements UsersDAO{

	@Override
	public boolean usersLogin(Users u) {
		// TODO Auto-generated method stub
		//创建事物对象
		//事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)
		Transaction ts = null;
		String hql = "";
		
		try {
			Session session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
			//开启事物
			ts =session.beginTransaction();
			//hql查询语句
			hql = "from Users where username=? and password=? ";
			//Query是Hibernate的查询接口,用于从数据存储源查询对象及控制执行查询的过程,Query包装了一个HQL查询语句
			org.hibernate.Query query =session.createQuery(hql);
			//传递参数
			query.setParameter(0, u.getUsername());
			query.setParameter(1, u.getPassword());
			//调用其中的方法得到结果  
			List list =query.list();
			ts.commit();
			if (list.size()>0) {
				return true;
			} else {
				return false;
			}
		}
		catch (Exception ex) {
			// TODO: handle exception	
			//打印异常对象
			ex.printStackTrace();
			return false;
		}
		finally{
			//释放事物对象资源
			if (ts!=null) {
				ts=null;
			}
		}
	
	}
		
}


public class UsersAction extends superAction implements ModelDriven<Users>{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Users user = new Users();
	
	//用户登录动作
	public String login() {
		UsersDAO udao =new UserDAOImpl();
		if (udao.usersLogin(user)) {
			return "login_success";
		}
		else {
			return "login_failure";
		}
		
	}
	@Override
	public Users getModel() {
		// TODO Auto-generated method stub
		return this.user;
	}

}
foggentle3137565
浏览 1033回答 0
0回答
随时随地看视频慕课网APP

相关分类

Java
MySQL
我要回答