欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hibernate中Criteria查询常用方法

程序员文章站 2022-04-15 22:06:47
...

前面的映射链接数据库就略过了

Criteria 接口与Query接口非常类型,允许创建并执行面向对象的标准化查询.值的注意的是Criteria接口是轻量级的,不能再Session只玩使用
首先使用Criteria,必须得到Criteria
    Criteria criteria=session.createCriteria();
    Criteria criteria = session.createCriteria(Customer.class); //添加实体类class
查询操作
    查询所有        
        List<Customer> list = criteria.list();
    分页查询    
        criteria.setFirstResult(0); 从0开始
        criteria.setMaxResults(3);  每页3个对象
        List<Customer> list = criteria.list();
    等于
        criteria.add(Restrictions.eqOrIsNull("id", 8));
    模糊查询
        criteria.add(Restrictions.like("name","%白%"));
    大于等于
        criteria.add(Expression.ge("id", 5));
    小于等于
        criteria.add(Expression.le("id", 5));
    范围间查询
        criteria.add(Expression.between("id", 5, 10));
    对结果排序
        criteria.addOrder(Order.desc("id"));--逆序
        criteria.addOrder(Order.asc("id"));--顺序
    聚合函数查询
        criteria.setProjection(Projections.avg("id"));
        criteria.setProjection(Projections.max("id"));
        criteria.setProjection(Projections.min("id"));
        criteria.setProjection(Projections.groupProperty("id"));
        criteria.setProjection(Projections.sum("id"));
        criteria.setProjection(Projections.count("id"));
        int num=criteria.list().iterator().next();
    限定返回数据行数
        criteria.setFirstResult(0); 从0行开始
        criteria.setMaxResults(3);  共查询3行