Hibernate HQL查詢 查詢某幾列
Hibernate使用Query物件進行查詢。Session的createQuery()方法能夠建立Query例項,引數為HQL。Query物件能夠返回各種型別的查詢結果,
例如long、String、List<實體類>、List
list()返回零個或者多個值。
1.直接從實體物件進行查詢,即只能查詢該物件的所有列
@SuppressWarnings("unchecked") public static void test1(){ Session session = HibernateSessionFactory.currentSession(); String hql = "from User u"; Query query = session.createQuery(hql); List<User> user = query.list(); System.out.println("------------SQL執行完畢---------------"); for (User us : user) { System.out.println(us.getName()); } }
1.2在HQL中,不能使用select * from Student,但是可以使用別名 select stu from Student stu
public void test12() {
Session session = HibernateUtils.openSession();
Query query = session.createQuery("select stu from Student stu");
List<Student> stus = query.list();
for (Student stu : stus) {
System.out .println(stu);
}
}
1.3查詢一個表的記錄數(當查詢結果唯一時,可以使用uniqueResult())
public void test13(){
String hql="select count(*) from Student";
Session session=HibernateUtils.openSession();
Long countRecord=(Long) session.createQuery(hql).uniqueResult();
int count=countRecord.intValue();
System.out .println(count);
}
2.如果想單獨查詢某一列,可以這樣使用
@SuppressWarnings("unchecked")
public static void test2(){
Session session = HibernateSessionFactory.currentSession();
String hql = "select name from User u";
Query query = session.createQuery(hql);
List<String> user = query.list();
System.out.println("------------SQL執行完畢---------------");
for (String us : user) {
System.out.println(us);
}
}
3.如果想查詢某幾列的話,注意返回的內容不同,幾列就是幾個物件,這幾個物件放在一個物件陣列中
/**
* 查詢某幾列
*/
@SuppressWarnings("unchecked")
public static void test3(){
Session session = HibernateSessionFactory.currentSession();
String hql = "select id,name from User u";
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]);
}
}
關於查詢某幾列的詳細說明:
Query的list()方法返回java.util.List物件。List中一般儲存完整的實體類物件。例如select name from User u 會將所有的User屬性都查詢出來,
即包含User類的所有及時載入的屬性(注意:此時懶載入的屬性並不會載入)。
對於有些查詢,我們只需要查詢幾個屬性就夠了,而不需要查詢所有的實體類屬性。這時候可以在HQL中指定要返回的部分。查詢部分屬性時,
返回結果仍然是List型別,裡面可能是單個的Object,也可能是Object[]陣列,還可能是List物件與Map物件,返回什麼型別資料,由HQL語句決定。
相關推薦
Hibernate HQL查詢 查詢某幾列
Hibernate使用Query物件進行查詢。Session的createQuery()方法能夠建立Query例項,引數為HQL。Query物件能夠返回各種型別的查詢結果, 例如long、String、List<實體類>、List、POJO等
Hibernate的查詢 HQL查詢查詢某幾列
在學習程式設計的過程中,我覺得不止要獲得課本的知識,更多的是通過學習技術知識提高解決問題的能力,這樣我們才能走在最前方,更多Java專業知識,廣州瘋狂java培訓為你講解; HQL 是HibernateQuery Language的簡寫,即 hibernate 查詢
Hibernate hql 中文查詢 查不出結果
hql沒問題了,但就是差不出結果,還不報錯…… 是中文編碼問題。 最簡單方法: 連線sql語句改為: jdbc:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=UTF-8
sqlserver trigger(觸發器)-更新某幾列數據時觸發【轉】
gin begin -i transfer 數據 如果 upd from lar CREATE TRIGGER [dbo].[updataAlarmLevel]ON [dbo].[Alarm_Alarm_Info]AFTER INSERT, UPDATE – 在
怎麼把一張表中某幾列資料插入到另一張表中mysql
兩種方法: 1.表之間的關聯; 2.java程式; 我們這裡主要講的是第二種方法: 第二種方法的優勢在於,如果想要把a表中的資料某幾列資料插入b表中,無需b表中的某列=a表中某列,即使b表中什麼資料都沒有; 那就是mysql語句的增刪改查,比任何操作都簡單,都迅
【轉載】ASP.NET 固定GridView的表頭和某幾列
原連結: 固定GridView的表頭和某幾列 原文連結有個Demo程式碼,如果有需要的話可以點選原文再下載。 原來系統中有很多超長gridview,需要使用者向右平行拉動才能看到後面的內容。目前開發一
取numpy陣列的某幾行某幾列
這個操作在numpy陣列上的操作感覺有點麻煩,但是也沒辦法。 例如 a = [[1,2,3], [4,5,6], [7,8,9]] 取 a 的 2 3 行, 1 2 列 c=[1,2] d =[0,1] 若寫為 b = a[c,d] output: [4
Python讀取txt某幾列繪圖
晚上幫同學用Python指令碼繪圖,大概需求是讀取一個txt檔案的兩列分別作為x和y的值,繪圖即可,程式碼如下: #coding:utf-8 import numpy as np import matplotlib.pyplot as plt import
PB資料視窗將某一列或者某幾列重複值合併
也就是PB資料窗怎麼去掉某一列重複值。。。。。。 如顯示結果如下: 想到得到如下顯示結果: 怎麼來做?其實吧,很簡單,只需要開啟資料窗物件,單擊“rows”選單,找到“Suppress Repeating Values...” 單擊彈出如下視窗,
Python取numpy陣列的某幾行某幾列方法
Python 取numpy陣列的某幾行某幾列方法 直接分析,如原矩陣如下(1): (1) 我們要擷取的矩陣(取其一三行,和三四列資料構成矩陣)為如下(2): (2)
把資料庫表中某幾列值相同的行去重,只保留一行
使用分析函式row_number() over (partition by … order by …)來進行分組編號,然後取分組標號值為1的記錄即可。目前主流的資料庫都有支援分析函式,很好用。 其中,partition by 是指定按哪些欄位進行分組,這些欄
spark 按某幾列distinct去重、topN、視窗計算的應用
在spark計算當中,我們日常有些簡單需求,比如去重,比如有四列(appid、date、type、platform),我們只需要對appid,date進行去重,另外兩列不關注。在spark中,distinct會對所有列執行去重操作,兩行比較,只要有個一列有差異
[解決方案]java多維陣列按照某幾列進行排序
情景: 有一個二維陣列,我想按照第一,第二,第三列進行降序排列。 注意: 1、如果第一列數值相同,那麼就按照第二列降序排列。 2、同理,如果第二列數值相同,那麼就按照第三列降序排列。 程式碼
查詢數據庫中某一列有沒有重復數據項
pos div stock 查詢 blog sele having count 復數 查詢數據庫中某一列有沒有重復數據項: select * from cd_stock where stock_bh in (select stock_bh from cd_stock gr
Hibernate的條件查詢的幾種方式+查詢所有的記錄
數據庫 rop query 寫法 OS 由於 AC 對象 tst 1、 第一種,用?占位符,如: //登錄(用?占位符) public List<UserPO> LoginUser(UserPO up)throws Exception{ Session
Hibernate hql 查詢 指定欄位 並獲取結果集
1. 查詢整個對映物件所有欄位 Java程式碼 //直接from查詢出來的是一個對映物件,即:查詢整個對映物件所有欄位
Python:列表中按某一列作為索引查詢其他列表中對應資訊,找到後插入當前列表。
直接複製,修改地址後使用。修改三個位置,如備註。 #coding=utf-8 import os.path import numpy as np if __name__=="__main__": list_1_txt= open('list1.txt')#這裡,讀取第一個列表 &
查詢資料庫中某一列值重複的資料,查詢並刪除重複的資料
查詢LSCJMB表中F_CJZY對應列值重複的資料: SELECT F_CJZY,COUNT(F_CJZY) FROM LSCJMB GROUP BY F_CJZY HAVING COUNT( F_CJZY )>1 查出了重複的列及重複行數: 刪除全部涉及重複的資料: del
Hibernate 中得查詢(hql,離線)和getHibernateTemplate()常用方法彙總
1.hql通過getHibernateTemplate() (1) 回撥介面getHibernateTemplate().execute(new HibernateCallback())方法 public User getEmailByUsername(final String userna
Hibernate HQL查詢語句Query
Department類 @Entity @Table(name="t_department") public class Department extends BaseEntity { String name; @OneToMany(m