1. 程式人生 > >Hibernate--詳解Query物件 ( 分頁)

Hibernate--詳解Query物件 ( 分頁)

package com.itheima.b_api;

import java.util.Arrays;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.junit.Test;

import com.itheima.a_hello.User;
//詳解Query物件
public class Query_test {
    @Test
    //Query物件 封裝HQL語句的物件
    //Query中封裝查詢細節api
    public void fun1(){
        //1載入配置
        Configuration  conf = new Configuration().configure();
        //2 根據Configuration 配置資訊建立 SessionFactory
        SessionFactory sf = conf.buildSessionFactory();
        //3 獲得session
        Session session = sf.openSession();
        //開啟事務
        Transaction ts = session.beginTransaction();
        
        //--------------------------------------------------------
        
        Query query = session.createQuery("from com.itheima.a_hello.User ");


        
        //以前分頁    limit index(初始索引),count(查詢多少個);
        
        //指定結果從第幾個開始拿
        query.setFirstResult(0);
        //指定拿幾個結果

        query.setMaxResults(2);
        
        //query.list() 將hql語句執行,並返回結果(多行)
        List<User> list =  query.list();
        System.out.println(list);


        //uniqueResult 將hql語句執行,並返回結果(一行)   。    多個結果的第一行返回
          //User u = (User) query.uniqueResult();
          //System.out.println(u);
        //---------------------------------------------------------
        //提交事務
        ts.commit();
        
        //關閉資源
        session.close();
        sf.close();
    }
}