Hibernate(4)Criteria查詢(單表查詢)

 

Criteria  單表查詢比較方便

Hibernate自創的無語局面向對象查詢

查詢所有對象

 /**
     * 查詢所有對象
     */
    @Test
    public void test(){
        Session session = HibernateUtils.getCurrentSession();
        Transaction tx = session.beginTransaction();
        Criteria criteria = session.createCriteria(Customer.class);
        List<Customer> list = criteria.list();
        System.out.println(list);
        tx.commit();


    }

條件查詢

 /**
     * 條件查詢
     * >    gt
     * >=   ge
     * <    lt
     * <=   le
     * ==   eq
     * !=   ne
     * in   in
     * between and    between
     * like     like
     * is not null   isNotNull
     * is null       isNull
     * or        or
     * and   and
     */
    @Test
    public void test1(){
        Session session = HibernateUtils.getCurrentSession();
        Transaction tx = session.beginTransaction();

        //創建criteria查詢對象
        Criteria criteria = session.createCriteria(Customer.class);
        //添加查詢參數  查詢cust_id id爲1的custormer對象
        criteria.add(Restrictions.eq("cust_id",1));
        //List<Customer> list = criteria.list();
        Customer c = (Customer) criteria.uniqueResult();

        System.out.println(c);
        tx.commit();


    }

分頁查詢


    /**
     * 分頁查詢
     */
    @Test
    public void test2(){
        Session session = HibernateUtils.getCurrentSession();
        Transaction tx = session.beginTransaction();

        //創建criteria查詢對象
        Criteria criteria = session.createCriteria(Customer.class);
        //limit ?,?  設置分頁信息
        criteria.setFirstResult(1);
        criteria.setMaxResults(4);
        //執行查詢
        List<Customer> list = criteria.list();
        //Customer c = (Customer) criteria.uniqueResult();

        System.out.println(list);
        tx.commit();


    }

查詢總記錄數、

 

 /**
     * 查詢總記錄數
     */
    @Test
    public void test3(){
        Session session = HibernateUtils.getCurrentSession();
        Transaction tx = session.beginTransaction();

        //創建criteria查詢對象
        Criteria criteria = session.createCriteria(Customer.class);
        //設置查詢的聚合函數
        criteria.setProjection(Projections.rowCount());
        //執行查詢
        Long i = (Long) criteria.uniqueResult();
        //Customer c = (Customer) criteria.uniqueResult();

        System.out.println(i);
        tx.commit();


    }

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章