详解该语句(这个是根据学号查找的语句)

public List getList(int xh)
{
String where="";
if(xh!=0)
{
where=where+" where xuehao="+xh+"";
}
return this.findAll(where);
}

findAll就是根据你的where条件,然后去筛选指定的记录

正如你所说,你这个就是拼接查询条件的sql,findAll里面只有wher条件,没有from table吗?

根据指定的学号,寻找相应的学生

学生能有几个学号呢?

findAll方法是怎么写的,可以拿出来看看

findAll方法:

private List findAll(String where)
{
Session sess = this.getSessionFactory().openSession();
try
{
Query query = sess.createQuery(" From Xuesheng " + where + " order by id ");
return query.list();
}
finally
{
sess.close();
}

一个学生一个学号,4个学生4个学号。
where条件只能放一个学号。