2011-06-24 43 views
0

IM,我怎麼能做到這一點select * from student wher userName = ***與HQL如何檢查是否使用表格中存在數據休眠使用我的JSP頁面和MySQL休眠

,以及如何,如果該用戶名在「學生」表中存在我赤?

在我的SQL

我使用

ResultSet resultat = statement.executeQuery(); 

if (resultat.next()) { ....} 

我試試這個

Session hibernateSession = MyDB.HibernateUtil.currentSession(); 
hibernateSession.find("select xxx from Etudinat where p.Nom=xxxx"); 

它給我一個名單,但

我有一個登錄表單給我一個用戶名和密碼

我想要如果該用戶名存在表中的學生學生在會話上設置用戶

什麼是安全的方式做到這一點

+0

什麼是例外? – Olaf

+0

i'v編輯我的問題 – David

回答

3

我無法將代碼粘貼到評論中。嘗試以下HQL:

from Etudinat where Nom = 'xxxx' 

更好的是,傳遞用戶名作爲參數。

每個操作請求,代碼片段基礎上的評論:

Query q = hibernateSession.createQuery("from Etudinat where Nom = :username"); 
q.setParameter("username", xxxx);  
Etudinat e = q.uniqueResult(); 
+0

謝謝你的工作,但是(sql注入)安全嗎? – David

+1

@大衛:絕對不是。這就是爲什麼我建議通過用戶名作爲參數。您可以通過參數(其中Nom =:username)告訴會話使用HQL創建Query,並將參數username設置爲傳遞給您的DAO的值。然後你可以在查詢中調用uniqueResult()方法。 – Olaf

+0

謝謝你,PLZ給我一個ligne如何使用uniqueResult()i'v到tomorow – David