Hibernate中使用HQLQuery查詢?nèi)繑?shù)據(jù)和部分?jǐn)?shù)據(jù)的方法實(shí)例
對(duì)于我們學(xué)習(xí)的HQL,我大概理解為就是一種查詢的語(yǔ)言,它沒(méi)有增加、刪除、修改的作用,而對(duì)我們用來(lái)查詢的操作,感覺(jué)用起來(lái)就是很簡(jiǎn)便,代碼很少,很好理解一些。
下面是查詢操作的簡(jiǎn)單實(shí)例
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)增強(qiáng)
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ù)了 因?yàn)橹挥蠸tudent對(duì)象的兩個(gè)屬性值 不是一個(gè)對(duì)象
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é)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
WebSocket整合SSM(Spring,Struts2,Maven)的實(shí)現(xiàn)示例
這篇文章主要介紹了WebSocket整合SSM(Spring,Struts2,Maven)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
java后臺(tái)利用Apache poi 生成excel文檔提供前臺(tái)下載示例
本篇文章主要介紹了java后臺(tái)利用Apache poi 生成excel文檔提供前臺(tái)下載示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05
Java異常報(bào)錯(cuò):java.nio.file.FileSystemException的多種解決方案
在Java應(yīng)用程序中處理文件和目錄時(shí),java.nio.file.FileSystemException是一個(gè)常見的異常,這個(gè)異常發(fā)生在嘗試進(jìn)行文件系統(tǒng)操作時(shí),本文將詳細(xì)探討FileSystemException的成因,并提供多種解決方案,需要的朋友可以參考下2024-12-12
SpringBoot實(shí)現(xiàn)jsonp跨域通信的方法示例
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)jsonp跨域通信的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
jar的MANIFEST.MF配置Class-Path, java -classpath設(shè)置無(wú)效的解
這篇文章主要介紹了jar的MANIFEST.MF配置Class-Path, java -classpath設(shè)置無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Java設(shè)計(jì)模式之命令模式CommandPattern詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之命令模式CommandPattern詳解,命令模式是把一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤銷的操作,需要的朋友可以參考下2023-10-10
淺談Java實(shí)現(xiàn)分布式事務(wù)的三種方案
現(xiàn)在互聯(lián)網(wǎng)下,分布式和微服務(wù)橫行,難免會(huì)遇到分布式下的事務(wù)問(wèn)題,當(dāng)然微服務(wù)下可能沒(méi)有分布式事務(wù),但是很多場(chǎng)景是需要分布式事務(wù)的。下面就來(lái)介紹下什么是分布式事務(wù)和分布式事務(wù)的解決方案2021-06-06

