成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡述Hibernate在HQL中查詢實例

開發 后端
Hibernate查詢包括支持字符串方式參數傳遞查詢、傳遞參數查詢、支持多參數傳遞、調用數據庫里面的函數、直接支持sql查詢、進行導航查詢、分頁查詢。

我們學習Hibernate查詢是知道HQL支持條件查詢,分為好多方面,這里我們就具體Hibernate查詢用實例來加以說明,希望對讀者的學習帶來幫助。

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

例子:

  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.             } 

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

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

例子:

  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.            } 

要設置參數從0開始,見第2行。

3、去變量方式參數傳遞

例子:

  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.            } 

這個跟2中的相似,只是多了參數可以歸為一類。

4、支持多參數傳遞

例子:

  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.             } 

注意調用方法是setParameterList。

5、調用數據庫里面的函數

例子:

  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.            } 

數據庫函數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.            } 

只需要調用session里面的createSQLQuery方法即可。

7、進行導航查詢

例子:

  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、分頁查詢

例子:

  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.             } 

這是很簡單的分頁查詢,分頁查詢實現比這個復雜多了,分頁查詢采用的相當于數據庫里面的 limit ,來限制一次查詢顯示的條數。

注:還有一些其他就不一一列舉了,Hibernate查詢在Hibernate的使用中HQL查詢語言如果用得好,會給工作帶來比較高的效率,比較重要,而且還有一個查詢效率的問題,這涉及到緩存等方面,以后會更新這方面的文章。

【編輯推薦】

  1. 簡述Hibernate中加載并存儲對象
  2. Hibernate傳播性持久化攻略
  3. 深入了解Hibernate自動狀態檢測
  4. 教你如何在Hibernate中實例化集合和代理
  5. Hinerbate單端關聯代理頗析
責任編輯:仲衡 來源: blogjava
相關推薦

2009-06-18 09:14:08

Hibernate H

2009-09-23 18:05:48

2009-09-24 10:35:10

Hibernate查詢

2009-09-23 09:16:25

Hibernate復合

2009-06-29 18:26:46

HibernateHQL查詢

2009-06-12 15:32:01

Hibernate H

2009-09-24 10:15:37

Hibernate查詢

2009-09-22 08:39:59

Hibernate F

2009-06-26 16:09:21

Hibernate查詢HQL

2014-05-12 10:37:41

2009-09-29 16:41:58

Hibernate S

2009-09-24 11:17:32

Hibernate查詢

2009-09-27 14:56:22

Hibernate H

2009-06-30 16:55:19

2009-09-29 10:37:29

Hibernate持久

2009-09-29 15:58:22

Hibernate映射

2011-03-24 11:37:41

Hibernate

2009-09-28 11:12:52

Hibernate O

2009-09-23 15:25:08

Hibernate 3

2009-09-25 12:31:13

Hibernate映射
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一级片免费在线观看 | 91伊人| 亚洲综合一区二区三区 | 国产精品久久久久久久白浊 | 不卡在线视频 | 久久久国产精品视频 | 色黄网站 | 91精产国品一二三区 | 91精产国品一二三区 | 女人毛片a毛片久久人人 | 在线观看日韩精品视频 | 午夜视频大全 | 日韩中文字幕久久 | 91精品久久久 | 国产精品91久久久久久 | 国产 日韩 欧美 在线 | 国产午夜精品一区二区三区嫩草 | 国产精品日韩欧美一区二区三区 | 欧美另类视频 | 91精品国产91久久久久久最新 | 欧美 日韩 国产 成人 在线 | a级大片免费观看 | 国产精品久久国产精品 | 中文字幕亚洲国产 | 国产福利视频导航 | 麻豆亚洲 | 国产免费一区 | 精品国产精品三级精品av网址 | 国产高清在线精品 | 久久不射电影网 | 做a视频在线观看 | 国产99视频精品免费播放照片 | 国产羞羞视频在线观看 | 9久久精品 | 91精品www | 国产精品国产a级 | 青青草久久 | 国产综合在线视频 | 成人免费在线视频 | 国产h视频 | 国产在视频一区二区三区吞精 |