最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

hibernate的分頁模糊查詢功能

 更新時間:2017年02月27日 10:37:39   作者:廖海的博客  
在web項目中,顯示數(shù)據(jù)一般采用分頁顯示的,在分頁的同時,用戶可能還有搜索的需求,也就是模糊查詢,所以,我們要在dao寫一個可以分頁并且可以動態(tài)加條件查詢的方法。接下來通過本文給大家介紹下

在web項目中,顯示數(shù)據(jù)一般采用分頁顯示的,在分頁的同時,用戶可能還有搜索的需求,也就是模糊查詢,所以,我們要在dao寫一個可以分頁并且可以動態(tài)加條件查詢的方法。分頁比較簡單,采用hibernate提供的分頁,動態(tài)條件采用map(“字段”,模糊值)封裝查詢條件,map可以添加多個查詢條件,是個不錯的選擇,從而達到實現(xiàn)分頁并模糊查詢。

@Override
  public List<T> findPage(int page, int length, Map<String, Object> pram) {
     List<T> result = null;  
     try 
     { 
           //初始化hql,this.entityClazz.getSimpleName()是泛型的真實類名,在構(gòu)造函數(shù)中獲取
       String hql = "from " + this.entityClazz.getSimpleName() + " where 1=1 and "; //注意空格
       Session session = this.sesionFactory.openSession(); //獲取連接
       if(!pram.isEmpty())  //判斷有無條件
       {
         Iterator<String> it = pram.keySet().iterator(); //迭代map
         while(it.hasNext())
         {
            String key = it.next(); //獲取條件map中的key,即條件字段
            hql = hql + key + " like " + "'%" + pram.get(key) + "%'" + " and "; //將字段和模糊值拼接成hql
         }
       }
       hql += " 2=2"; //在hql末尾加上 2=2,方便hql再次拼接
       System.out.println(hql);
       Query query = session.createQuery(hql); 
       query.setFirstResult((page - 1) * length); //設(shè)置分頁頁碼  
       query.setMaxResults(length);  //設(shè)置每頁數(shù)據(jù)長度
       result = query.list(); //返回結(jié)果集
     } catch (RuntimeException re)  
     {  
       throw re;  
     }  
     return result;  
  }

以上所述是小編給大家介紹的hibernate的分頁模糊查詢功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • java實現(xiàn)flappy Bird小游戲

    java實現(xiàn)flappy Bird小游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)flappy Bird小游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • java底層AQS實現(xiàn)類ReentrantLock鎖的構(gòu)成及源碼解析

    java底層AQS實現(xiàn)類ReentrantLock鎖的構(gòu)成及源碼解析

    本章我們就要來學(xué)習(xí)一下第一個?AQS?的實現(xiàn)類:ReentrantLock,看看其底層是如何組合?AQS?,實現(xiàn)了自己的那些功能,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • Maven構(gòu)建Hadoop項目的實踐步驟

    Maven構(gòu)建Hadoop項目的實踐步驟

    本文主要介紹了Maven構(gòu)建Hadoop項目的實踐步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java面向?qū)ο筮x擇題總結(jié)歸納

    Java面向?qū)ο筮x擇題總結(jié)歸納

    今天小編就為大家分享一篇關(guān)于Java面向?qū)ο筮x擇題總結(jié)歸納,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 深入了解Java行為型設(shè)計模式之策略模式

    深入了解Java行為型設(shè)計模式之策略模式

    策略模式屬于Java-設(shè)計模式中行為模式之一,該模式定義了一系列算法,并將每個算法封裝起來,使它們可以相互替換。本文將通過示例詳細講解這一模式,需要的可以參考一下
    2022-09-09
  • Java中如何將list轉(zhuǎn)為樹形結(jié)構(gòu)

    Java中如何將list轉(zhuǎn)為樹形結(jié)構(gòu)

    這篇文章主要介紹了Java中如何將list轉(zhuǎn)為樹形結(jié)構(gòu),本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • java多線程并發(fā)中使用Lockers類將多線程共享資源鎖定

    java多線程并發(fā)中使用Lockers類將多線程共享資源鎖定

    Lockers在多線程編程里面一個重要的概念是鎖定,如果一個資源是多個線程共享的,為了保證數(shù)據(jù)的完整性,在進行事務(wù)性操作時需要將共享資源鎖定,這樣可以保證在做事務(wù)性操作時只有一個線程能對資源進行操作,下面看一個示例
    2014-01-01
  • Java SPI機制詳細介紹

    Java SPI機制詳細介紹

    大家好,本篇文章主要講的是Java SPI機制詳細介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Java實現(xiàn)線程通信的案例講解

    Java實現(xiàn)線程通信的案例講解

    所謂線程通信就是線程間相互發(fā)送數(shù)據(jù),線程通信通常通過共享一個數(shù)據(jù)的方式實現(xiàn)。本文將通過案例詳解Java中線程通信的實現(xiàn),感興趣的可以了解一下
    2022-05-05
  • Java數(shù)據(jù)結(jié)構(gòu)之LinkedList的用法詳解

    Java數(shù)據(jù)結(jié)構(gòu)之LinkedList的用法詳解

    鏈表(Linked?list)是一種常見的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),是一種線性表。Java的LinkedList(鏈表)?類似于?ArrayList,是一種常用的數(shù)據(jù)容器,本文就來簡單講講它的使用吧
    2023-05-05

最新評論

秭归县| 永安市| 东丽区| 蓬溪县| 临猗县| 四子王旗| 双辽市| 张北县| 桃源县| 涞源县| 扎赉特旗| 锡林郭勒盟| 寿阳县| 台东市| 南部县| 三亚市| 佛教| 临西县| 嘉黎县| 新郑市| 宜兴市| 湘西| 阳高县| 田阳县| 芮城县| 宝鸡市| 喀喇沁旗| 铜川市| 布尔津县| 霞浦县| 团风县| 梨树县| 涟水县| 华亭县| 桐柏县| 兰坪| 正安县| 满洲里市| 衡阳县| 张家口市| 莒南县|