Hibernate中使用HQLQuery查詢?nèi)繑?shù)據(jù)和部分數(shù)據(jù)的方法實例
對于我們學(xué)習(xí)的HQL,我大概理解為就是一種查詢的語言,它沒有增加、刪除、修改的作用,而對我們用來查詢的操作,感覺用起來就是很簡便,代碼很少,很好理解一些。
下面是查詢操作的簡單實例
package com.lc.view; import java.util.Iterator; import java.util.List; import org.hibernate.Session; import org.hibernate.Transaction; import com.lc.domain.Student; import com.lc.utils.HibernateUtil; public class selectStudent { public static void main(String[] args) { selectSomeStudents(); } /** * 1.檢索所有的學(xué)生 **/ public static void selectAllStudents(){ Session session = null; Transaction ts = null; try { session = HibernateUtil.getCurrentSession(); ts = session.beginTransaction(); List<Student> list = session.createQuery("from Student").list(); //取出數(shù)據(jù)1.for循環(huán)增強 for(Student stu:list){ System.out.println(stu.getSid()+" "+ stu.getSname()+" "+stu.getSdept()); } //取出數(shù)據(jù)2.迭代器 System.out.println("------------------------------"); Iterator iterator = list.iterator(); while(iterator.hasNext()){ Student s = (Student) iterator.next(); System.out.println(s.getSid()+" "+ s.getSname()+" "+s.getSdept()); } ts.commit(); } catch (Exception e) { if (ts != null) { ts.rollback(); } throw new RuntimeException(e.getMessage()); } finally { if (session != null && session.isOpen()) { session.close(); } } } /** * 2.檢索部分的學(xué)生 **/ public static void selectSomeStudents(){ Session session = null; Transaction ts = null; try { session = HibernateUtil.getCurrentSession(); ts = session.beginTransaction(); /** *不可以這樣去除數(shù)據(jù)了 因為只有Student對象的兩個屬性值 不是一個對象 List<Student> list = session.createQuery("select sname,sdept from Student").list(); for(Student stu:list){ System.out.println(stu.getSname()+" "+stu.getSdept()); }**/ List list = session.createQuery("select sname,sdept from Student").list(); for(int i=0;i<list.size();i++){ Object[] obj = (Object[]) list.get(i); System.out.println(obj[0].toString()+" "+obj[1].toString()); } ts.commit(); } catch (Exception e) { if (ts != null) { ts.rollback(); } throw new RuntimeException(e.getMessage()); } finally { if (session != null && session.isOpen()) { session.close(); } } } }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Java輸入學(xué)號、姓名、年齡并對其進行輸出的實現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Java輸入學(xué)號、姓名、年齡并對其進行輸出的實現(xiàn)方法,在計算機編程中,輸出學(xué)號和姓名是一個常見的任務(wù),文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-09-09利用Log4j將不同Package的日志輸出到不同文件的方法
日志是應(yīng)用軟件中不可缺少的部分,Apache的開源項目log4j是一個功能強大的日志組件,提供方便的日志記錄。這篇文章主要介紹了利用Log4j將不同Package的日志輸出到不同文件的方法,需要的朋友可以參考借鑒,下面來跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。2017-01-01java實現(xiàn)TCP socket和UDP socket的實例
這篇文章主要介紹了本文主要介紹了java實現(xiàn)TCP socket和UDP socket的實例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02使用idea+gradle編譯spring5.x.x源碼分析
這篇文章主要介紹了idea?+?gradle編譯spring5.x.x源碼,在編譯spring5源碼時需要將項目導(dǎo)入idea中然后編譯配置,本文給大家講解的非常詳細,需要的朋友可以參考下2022-04-04java多線程并發(fā)executorservice(任務(wù)調(diào)度)類
這篇文章主要介紹了線程并發(fā)ScheduledExecutorService類,設(shè)置 ScheduledExecutorService ,2秒后,在 1 分鐘內(nèi)每 10 秒鐘蜂鳴一次2014-01-01