您的位置:首页 > 产品设计 > UI/UE

query.setFirstResult解析

2017-09-21 16:24 204 查看
原文:http://blog.csdn.net/zj972535075/article/details/50489451

package com.zyf.test;

import java.text.ParseException;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.zyf.model.Student;

public class Test {
    
    public static void main(String[] args) throws ParseException {
        Configuration cfg = new Configuration().configure();

        SessionFactory factory = cfg.buildSessionFactory();
        
        int pageNum = 2;
        int size = 2;
        Session session = null;
        Transaction tx = null;

        try {
            session = factory.openSession();
            tx = session.beginTransaction();
            
            Query query = session.createQuery("select s from Student as s where name like :name and s.sex like :sex");
            query.setParameter("name", "%I%");
            query.setParameter("sex", "%Men%");
            query.setFirstResult(3);//表示的是从查询记录的地几个开始,而不是从第几页开始
            //query.setFirstResult((pageNum-1)*size);这才是正确的偏移量
            query.setMaxResults(2);
            
            List list  = query.list();
            
            System.out.println("list size :" + list.size());
            for(int i = 0; i < list.size(); i++) {
                System.out.println(((Student)list.get(i)).getId()+":"+((Student)list.get(i)).getSex());
            }
            
            
            
            tx.commit();
            
        

        } catch (Exception e) {
            if (null != tx) {
                tx.rollback();
            }
            e.printStackTrace();
        }
        
        finally {
            if (null != session) {
                session.close();
            }

        }

    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: