hibernate第四天

//对象导航查询
Customer customer = session.get(Customer.class, 1);

Set<LinkMan> set = customer.getSetLinkMan();

            //hql 查询
            //1.查询所有
//            Query query = session.createQuery("from Customer");
//            List<Customer> list = query.list();
            //2.条件查询
//            Query query = session.createQuery("from Customer c where c.cid=?");
//            query.setParameter(0, 1);
            //3.排序
//            Query query = session.createQuery("from Customer c order by c.cid asc/desc"); 
//            List<Customer> list = query.list();
            //4.分页
//            Query query = session.createQuery("from Customer ");
//            query.setFirstResult(0);
//            query.setMaxResults(3);

      //聚集函数的使用
            Query query = session.createQuery("select count(*) from Customer");
            Object obj = query.uniqueResult();
            System.out.println(obj);

QBC:

  

        //QBC条件查询
            Criteria criteria = session.createCriteria(Customer.class);    
//            criteria.add(Restrictions.eq("cid", 1));
//            criteria.add(Restrictions.eq("custName", "baidu"));
//            criteria.add(Restrictions.between("cid", 2, 6));
            //模糊查询
            criteria.add(Restrictions.like("custName", "%bai%"));
            List<Customer> list = criteria.list();

 

            //QBC条件查询
            Criteria criteria = session.createCriteria(Customer.class);    
//            criteria.add(Restrictions.eq("cid", 1));
//            criteria.add(Restrictions.eq("custName", "baidu"));
//            criteria.add(Restrictions.between("cid", 2, 6));
            //模糊查询
//            criteria.add(Restrictions.like("custName", "%bai%"));
            //排序 addOrder Order.desc 降序
//            criteria.addOrder(Order.desc("cid"));
            //分页  开始位置计算公式:(当前页-1)*每页记录数
            criteria.setFirstResult(0);
            criteria.setMaxResults(3);
            List<Customer> list = criteria.list();
        //统计查询
            Criteria criteria = session.createCriteria(Customer.class);
            criteria.setProjection(Projections.rowCount());
            Object obj = criteria.uniqueResult();
            //转换成int
            Long lobj= (Long)obj;
            int iobj = lobj.intValue();
            System.out.println(iobj);
            //离线查询
            //创建对象
            DetachedCriteria dc = DetachedCriteria.forClass(Customer.class);
            //最终执行到才需要到session
            Criteria criteria = dc.getExecutableCriteria(session);
            List<Customer> list =criteria.list();
            for (Customer customer : list) {
                System.out.println(customer.getCid()+":"+customer.getCustName());
            }

 

没有右外迫切连接

 延迟查询:

 

 

posted on 2018-03-14 18:02  投笔从码  阅读(89)  评论(0)    收藏  举报

导航