<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # QBC(query by criteria) QBC(query by criteria),它是一種更加面向對象的檢索方式。 org.hibernate.criterion.Criterion是Hibernate提供的一個面向對象查詢條件接口.一個單獨查詢就是Criterion接口的一個實例,用于限制Criteria對象的查詢,在Hibernate中Criterion對象的創建通常是通過Restrictions工廠類完成的 具體如下: 1. 獲得 Hibernate的 Session對象。 2. 通過 Session獲得 Criteria對象。 3. 使用 Restrictions的靜態方法創建 Criterion條件對象。 Restrictions類中提供了一系列用于 設定查詢條件的靜態方法,這些靜態方法都返回 Criterion實例,每個 Criterion實例代表 個查詢條件。 4. 向 Criteria對象中添加 Criterion查詢條件。 Criteria的add()方法用于加入查詢條件 5. 執行 Criteria的list()或uniqueresult()獲得結果 Criteria接口與Query接口非常類似,允許創建并執行面向對象的標準化查詢。值得注意的是Criteria接口也是輕量級的,它不能在Session之外使用。 ## 基本檢索 ~~~ //1. 得到一個Criteria對象 Criteria criteria = session.createCriteria(Goods.class); //2. 調用list方法 List<Goods> list = criteria.list(); System.out.println(list); ~~~ ## 排序檢索 **注意在criteri.addOrder()方法的參數使用的Order是hibernate中的對象** ~~~ //得到一個Criteria對象 Criteria criteria = session.createCriteria(Goods.class); //指定排序 criteria.addOrder(org.hibernate.criterion.Order.asc("money")); //asc升序, desc降序 //調用list方法 List<Goods> list = criteria.list(); System.out.println(list); ~~~ ## 條件檢索 ~~~ hql語句中,不能出現任何數據庫相關的信息 > gt >= ge < lt <= le == eq != ne in in between and between like like is not null isNotNull is null isNull or or and and ~~~ ~~~ //查詢名稱叫 手機的 商品 Criteria criteria = session.createCriteria(Goods.class); //其他條件 lt <, gt >, le <=, ge >=, eq == Criterion like = Restrictions.like("name", "手機_"); //添加條件 criteria.add(like); Goods c = (Goods) criteria.uniqueResult(); System.out.println(c); //查詢價格在1050以上,并且名稱叫 手機的 商品 Criteria cri = session.createCriteria(Goods.class); // >1050 SimpleExpression lt = Restrictions.gt("money", 1050d); SimpleExpression eq = Restrictions.eq("c", c); LogicalExpression and = Restrictions.and(lt, eq); cri.add(and); //List<Goods> list = cri.add(Restrictions.and( // Restrictions.gt("money", 1050d), // Restrictions.eq("c", c) //)).list(); ~~~ ## 分頁檢索 ~~~ Criteria criteria = session.createCriteria(Goods.class); criteria.setFirstResult((2 - 1) * 6); criteria.setMaxResults(6); List<Goods> list = criteria.list(); System.out.println(list); ~~~ ## 統計分組檢索 `Count sum avg max min` ~~~ //1. 統計訂單總數 Criteria criteria = session.createCriteria(Goods.class); //Object obj = criteria.setProjection(Projections.rowCount()).uniqueResult(); //統計總行數 count(id) //System.out.println(obj); //2. 訂單的總價格---分組統計根據客戶 //criteria.setProjection(Projections.sum("money")); //統計總金額 criteria.setProjection( Projections.projectionList().add( Projections.sum("money")) .add(Projections.groupProperty("c") ) ); //這個集合保存的是Object[money的統計信息,客戶信息] List<Object[]> list = criteria.list(); ~~~ ## 離線條件檢索 在多條件查詢的時候,需要在Web層封裝相應的參數到Criteria, 而在Dao層才真正的去執行查詢數據庫的操作, 所以需要在Web層創建Criteria并將其傳遞到Dao層, 這個時候就不能在Web層使用session.createCriteria來創建Criteria, 因為Criteria的一般創建都是使用session.createCriteria(), 而session都是在Dao層才會創建的 ~~~ //1. 得到DetachedCriteria DetachedCriteria dc = DetachedCriteria.forClass(Goods.class); dc.add(Restrictions.like("name", "手機_")); //2. 生成Criteria執行操作 Session session = HibernateUtils.openSession(); Criteria criteria = dc.getExecutableCriteria(session); List<Goods> list = criteria.list(); System.out.println(list); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看