hibernate QBC 查询

来源:互联网 发布:软件生命周期 编辑:程序博客网 时间:2024/06/05 07:33

使用hql查询需要写HQL语句,但是使用QBC查询则不需要写SQL语句,调用方法即可

一  查询所有

//创建对象

Criteria criteria = session.createCriteria(LinkMan.class);

//调用方法
List<LinkMan> list = criteria.list();

二 条件查询

(1)准确查询

//创建对象

Criteria criteria = session.createCriteria(LinkMan.class);

// 设置条件

criteria.add(Restrictions.eq("lkm_name", "杨过"));   
List<LinkMan> list = criteria.list();

(2)模糊查询

criteria.add(Restrictions.like("lkm_name", "%东%"));

(3)排序

criteria.addOrder(Order.desc("lkm_id"));  按照这个字段降序排列

三 分页查询

Criteria criteria = session.createCriteria(LinkMan.class);
criteria.addOrder(Order.desc("lkm_id"));
criteria.setFirstResult(0);
criteria.setMaxResults(3);
 List<LinkMan> list = criteria.list();
     

四  统计查询

  Criteria criteria = session.createCriteria(LinkMan.class);

   //设置条件

   Object obj = criteria.setProjection(Projections.rowCount());   
   Long lobj = (Long)obj;   
    int count = lobj.intValue();
    ts.commit();

五 离线查询

 Session session = HibernateUtils.getSession();
Transaction ts = session.beginTransaction();
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(LinkMan.class);
//最终执行时才需要得到session
Criteria criteria = detachedCriteria.getExecutableCriteria(session);
List<LinkMan> list = criteria.list();



   




原创粉丝点击