無論輸入什么帳號密碼都沒有通過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; ????} ? }
2018-03-09
換一種查詢方式就對了