日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
簡(jiǎn)述Hibernate在HQL中查詢實(shí)例

我們學(xué)習(xí)Hibernate查詢是知道HQL支持條件查詢,分為好多方面,這里我們就具體Hibernate查詢用實(shí)例來(lái)加以說(shuō)明,希望對(duì)讀者的學(xué)習(xí)帶來(lái)幫助。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到萊西網(wǎng)站設(shè)計(jì)與萊西網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋萊西地區(qū)。

1、支持字符串方式參數(shù)傳遞查詢:

例子:

 
 
 
  1. List students = session.createQuery("select s.id,s.name from Student s where s.name like '%1' ").list();
  2.             for (Iterator iter=students.iterator(); iter.hasNext();) {
  3.                 Object[] o = (Object[])iter.next();
  4.                 System.out.println(o[0]+","+o[1]);
  5.             }

由于,涉及到多個(gè)屬性查詢,所以返回的是Object數(shù)組類型。

2、支持類似于PrepareStatement方式的?傳遞參數(shù)查詢

例子:

 
 
 
  1. List students = session.createQuery("select s.id,s.name from Student s where s.name like :goodname ")
  2.                                                 .setParameter("goodname", "%1%").list();
  3.             for (Iterator iter=students.iterator(); iter.hasNext();) {
  4.                Object[] o = (Object[])iter.next();
  5.                System.out.println(o[0]+","+o[1]);
  6.            }

要設(shè)置參數(shù)從0開始,見(jiàn)第2行。

3、去變量方式參數(shù)傳遞

例子:

 
 
 
  1. List students = session.createQuery("select s.id,s.name from Student s where s.name like :goodname ")
  2.                                                 .setParameter("goodname", "%1%").list();
  3.             for (Iterator iter=students.iterator(); iter.hasNext();) {
  4.                Object[] o = (Object[])iter.next();
  5.                 System.out.println(o[0]+","+o[1]);
  6.            }

這個(gè)跟2中的相似,只是多了參數(shù)可以歸為一類。

4、支持多參數(shù)傳遞

例子:

 
 
 
  1. List students = session.createQuery("select s.id, s.name from Student s where s.id in(:myids)")
  2.             .setParameterList("myids", new Object[]{1, 2, 3, 4, 5,32,13,14})
  3.                 .list();
  4.             for (Iterator iter=students.iterator(); iter.hasNext();) {
  5.                 Object[] o = (Object[])iter.next();
  6.                 System.out.println(o[0]+","+o[1]);
  7.             }

注意調(diào)用方法是setParameterList。

5、調(diào)用數(shù)據(jù)庫(kù)里面的函數(shù)

例子:

 
 
 
  1. List students = session.createQuery("select s.id, s.name from Student s where date_format(s.createTime, '%Y-%m')=?")
  2.            .setParameter(0, "2008-10")
  3.                 .list();
  4.            for (Iterator iter=students.iterator(); iter.hasNext();) {
  5.                 Object[] o = (Object[])iter.next();
  6.                System.out.println(o[0]+","+o[1]);
  7.            }

數(shù)據(jù)庫(kù)函數(shù)date_format。

6、直接支持sql查詢

例子:

 
 
 
  1. List students = session.createSQLQuery("select *from t_student").list();
  2.             for (Iterator iter=students.iterator(); iter.hasNext();) {
  3.                Object[] o = (Object[])iter.next();
  4.                 System.out.println(o[0]+","+o[1]);
  5.            }

只需要調(diào)用session里面的createSQLQuery方法即可。

7、進(jìn)行導(dǎo)航查詢

例子:

 
 
 
  1. List students = session.createQuery("select s.name from Student s where s.classes.name like '%1%'").list();
  2.             for (Iterator iter=students.iterator(); iter.hasNext();) {
  3.                String s = (String)iter.next();
  4.                 System.out.println(s);
  5.             }

這種查詢很方便。

8、分頁(yè)查詢

例子:

 
 
 
  1. List students = session.createQuery("from Student").setFirstResult(0).setMaxResults(3).list();
  2.             for (Iterator iter=students.iterator(); iter.hasNext();) {
  3.                 Student student = (Student)iter.next();
  4.                 System.out.println(student.getName());
  5.             }

這是很簡(jiǎn)單的分頁(yè)查詢,分頁(yè)查詢實(shí)現(xiàn)比這個(gè)復(fù)雜多了,分頁(yè)查詢采用的相當(dāng)于數(shù)據(jù)庫(kù)里面的 limit ,來(lái)限制一次查詢顯示的條數(shù)。

注:還有一些其他就不一一列舉了,Hibernate查詢?cè)贖ibernate的使用中HQL查詢語(yǔ)言如果用得好,會(huì)給工作帶來(lái)比較高的效率,比較重要,而且還有一個(gè)查詢效率的問(wèn)題,這涉及到緩存等方面,以后會(huì)更新這方面的文章。


網(wǎng)站欄目:簡(jiǎn)述Hibernate在HQL中查詢實(shí)例
網(wǎng)站地址:http://www.5511xx.com/article/cdiicde.html