1. 程式人生 > >Hibernate的查詢 HQL查詢查詢某幾列

Hibernate的查詢 HQL查詢查詢某幾列

  在學習程式設計的過程中,我覺得不止要獲得課本的知識,更多的是通過學習技術知識提高解決問題的能力,這樣我們才能走在最前方,更多Java專業知識,廣州瘋狂java培訓為你講解;

  HQL 是HibernateQuery Language的簡寫,即 hibernate 查詢語言:HQL採用面向物件的查詢方式。HQL查詢提供了更加豐富的和靈活的查詢特性,因此Hibernate將HQL查詢方式立為官方推薦的標準查詢 方式,HQL查詢在涵蓋Criteria查詢的所有功能的前提下,提供了類似標準SQL語句的查詢方式,同時也提供了更加面向物件的封裝。

  在HQL中,你可以直接From你的實體物件來進行查詢:

  Java程式碼

  /**

  * 簡單使用

  */

  @SuppressWarnings("unchecked")

  public static void test1(){

  Session session =HibernateSessionFactory.currentSession();

  String hql = "from User u";

  Query query = session.createQuery(hql);

  List user = query.list();

  System.out.println("------------SQL執行完畢---------------");

  for (User us : user) {

  System.out.println(us.getName());

  }

  }

  類的後面可以接別名

  如果想單獨查詢某一列,可以這樣使用:

  Java程式碼

  /**

  * 查詢某列

  */

  @SuppressWarnings("unchecked")

  public static void test2(){

  Session session =HibernateSessionFactory.currentSession();

  String hql = "select name from Useru";

  Query query = session.createQuery(hql);

  List user = query.list();

  System.out.println("------------SQL執行完畢---------------");

  for (String us : user) {

  System.out.println(us);

  }

  }

  如果想查詢某幾列的話,只是返回的內容不同了而已:

  Java程式碼

  /**

  * 查詢某幾列

  */

  @SuppressWarnings("unchecked")

  public static void test3(){

  Session session =HibernateSessionFactory.currentSession();

  String hql = "select id,name from Useru";

  Query query = session.createQuery(hql);

  List user = query.list();

  System.out.println("------------SQL執行完畢---------------");

  for(Object obj : user){

  Object[] arrObj = (Object[])obj;

  System.out.println(arrObj[0] +"/t-->/t" + arrObj[1]);

  }

  }

  瘋狂Java培訓(瘋狂軟體學院諮詢QQ:707552864,544627560)專注軟體開發培訓,提升學員就業能力,重點提升實踐動手能力。技術知識沉澱深厚的老師,讓你感受Java的魅力,激發你對於程式設計的熱愛,讓你在半年的時間內掌握8-10萬的程式碼量,掌握Java核心技術,成為真正的技術高手;通過大量全真企業專案瘋狂訓練,迅速積累專案經驗。讓你成為技能型的現代化高階人才,迅速獲得高薪就業!時間不等人,趕緊聯絡我們吧!瘋狂java培訓中心地址:廣州天河區車陂灃巨集大廈3011。