hql 最简单的查询

来源:百度知道 编辑:UC知道 时间:2024/06/09 10:12:58
我有一张表,表名叫shiying,里面的数据是:
id username password
1 love1 123456
2 love2 353255
3 love3 dfadfa
我想用hql语名查出id为2的信息怎么写语名,我只想知道语名怎么写!
还是没有查询出来!我的action的execute方法是这样的:

LoginForm lForm = (LoginForm) form;
String username = lForm.getUsername();

String password = lForm.getPassword();

try {
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
String sqlQuery = "from Shiying as s where s.username="+username;
Query lQuery = session.createQuery(sqlQuery);
ArrayList userList = (ArrayList) lQuery.list();
tx.commit();
session.close();
Shiying user = new Shiying();
System.out.println(userList);
我其中加了System.out.println(userList);没有输出任务东西。还报错org.hibernate

hql是查询类名的
String hql="from Shiying(表对应的类名) as s where s.id=2"
_____________________________________
不能这样查询帅哥,如果你的username是中文的话很容易出错,首先你要确定你的username和数据库编码一致,然后要用占位符号,这样查询
String sqlQuery = "from Shiying as s where s.username=:username";
Query lQuery = session.createQuery(sqlQuery);
Iquery.setString("username",username(这是你的那个username));
ArrayList userList = (ArrayList) lQuery.list();

from Shiying as sy where as.id=2;
请注意 Shiying 是你的POJO类,而不是表.

楼上两位正解,我不罗嗦了,占个位置