0

I created a login application using struts2 and hibernate. I get login details from Login table and stored into list in hibernate dao class. That list is passed to the login_action class.In action class I am using iterator to get the value, but I want store the database value(not a object) in array list in dao class. How to store a value(ex:david,103) into array list in dao class

public class DAOClass {
    ...
    public List getPwd(LoginModel lm) {
        Session session=null;
        List pwdlist = null;
        session = sessionfactory.openSession(); 
        try {
            Query q=session.createQuery("from LoginModel l where UId='"+lm.getUname()+"'");
            pwdlist=q.list();
        } catch (Exception e){
            e.printStackTrace();
        } 

        return pwdlist;
    }
}
4

1 回答 1

0

您只能选择特定列而不是所有列:

List<Object[]> list = session.createQuery("select column1, column2 from LoginModel l where UId='"+lm.getUname()+"'");

它将返回对象数组的列表 wherecolumn1 -> array[0]column2 -> array[1]。这个查询要快一些,因为它只从数据库中获取特定的列。但是您仍然需要遍历集合以获取值。

顺便说一句,使用setParameter方法将值绑定到命名查询参数。使用setParameter将防止 SQL 注入。

List<Object[]> list = session.createQuery("select column1, column2 from LoginModel l where UId=:uid").setParameter("uid", lm.getUname());
于 2012-12-05T15:55:20.730 回答