国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Hibernate入門之Criteria 查詢
Criteria 查詢
 Hibernate支持一種符合Java撰寫習(xí)慣的查詢API,使用Session建立一個net.sf.hibernate.Criteria,您可以在不使用SQL甚至HQL的情況下進行對數(shù)據(jù)庫的查詢。
 我們以之前所練習(xí)過的第一個Hibernate程序完成的結(jié)果為例:
入門 02 - 第一個Hibernate程序
 如果要使用Criteria來查詢所有的User數(shù)據(jù),則如下撰寫:
Criteria crit = session.createCriteria(User.class);
List users = crit.list();
for (ListIterator iterator = users.listIterator(); iterator.hasNext(); ) {
User user = (User) iterator.next();
System.out.println("name: " + user.getName());
System.out.println("age: " + user.getAge());
}
 如果我們要為查詢限定條件,則可以透過net.sf.hibernate.expression.Expression設(shè)定查詢條件,Expression擁有許多條件查詢方法,舉個實際的例子說明:
Criteria crit = session.createCriteria(User.class);
crit.add(Expression.ge("age", new Integer(25)));
List users = crit.list();
 Expression的ge()方法即great-equal,也就是大于等于(>=),在上例中我們設(shè)定查詢age屬性大于等于25的User數(shù)據(jù)。
 您也可以設(shè)定多個查詢條件,例如:
crit.add(Expression.gt("age", new Integer(20)));
crit.add(Expression.between("weight", new Integer(60),new Integer(80)));
List users = crit.list();
 上例中我們查詢age大于20,而weight介于60到80之間的User。
 您也可以使用邏輯組合來進行查詢,例如:
crit.add(Expression.or(
Expression.eq("age", new Integer(20)),
Expression.isNull("age")
));
List users = crit.list();
 如果要對結(jié)果進行排序,可以使用net.sf.hibernate.expression.Order,例如:
List cats = session.createCriteria(User.class)
.add(Expression.ge("age", new Integer(20));
.addOrder( Order.asc("name") )
.addOrder( Order.desc("age") )
.setMaxResults(50)
.list();
 setMaxResults()方法可以限定查詢回來的筆數(shù),如果配合setFirstResult()設(shè)定傳回查詢結(jié)果第一筆數(shù)據(jù)的位置,就可以實現(xiàn)簡單的分頁,例如:
Criteria crit = session.createCriteria(User.class);
crit.setFirstResult(51);
crit.setMaxResult(50);
List users = crit.list();
 上面的例子將傳回第51筆之后的資料(51到100)。
 實際上,Criteria、Expression、Order等是對SQL進行了封裝,讓Java程序設(shè)計人員可以用自已習(xí)慣的語法來撰寫查詢,而不用使用HQL或SQL(有興趣的話,可以在組態(tài)文件中設(shè)定顯示SQL,看看對應(yīng)的SQL),然而Criteria在Hibernate中功能還不是很完美,只能實現(xiàn)一些較為簡單的查詢,對于查詢,Hibernate仍鼓勵使用HQL作為查詢的首選方式。
 Criteria的使用相當(dāng)簡單,這邊只介紹一些基本,有興趣的話,在Hibernate參考手冊的第12章中介紹有更多的查詢方式。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Hibernate之?dāng)?shù)據(jù)檢索
Hibernate 復(fù)合查詢 - Winbomb - 網(wǎng)易博客
hibernate Restrictions用法
Hibernate HQL vs QBC查詢
[轉(zhuǎn)] Hibernate3的DetachedCriteria支持 - 影尋 - 網(wǎng)易博客
Hibernate的DetachedCriteria使用(含Criteria)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服