关于Hibernate的Criteria查询

        如同大家所了解的Hibernate框架技术是现今的主流SSH之一的技术,Cirteria查诞生让的我们看到一种全新的方式(不得不说独特),不用自己编写的SQL或HQL(Hibernate Query Languae)语句 (这对于不会编写或没有学好这门技术的码农来说是一大福音啊),由Hibernate产生SQL查询语句。Criteria查询采用面向对象的方式封装查询条件,对SQL语句进行封装,采用对象的方式来组合查询,在由Hibernate产生SQL语句。

        本人也是最近才学,仅供一些初学者参考。感觉要学好一门框架不是一件容易的事。Cirteria查询先要创建Query对象这点跟HQL查询类似 但传入的参数不同 ,Cirteria传入的是对应的实体类的类型对象 如:

    HQL查询:

            String hql="from Student(实体类名)";//注意这里的实体类名 对大小写敏感

            Query query = session.createQuery(hql);

     Cirteria 查询:

            Criteria criteria = session.createCriteria(Users.class);//对大小写敏感 

    Cirteria本身是个容器,若想设定查询条件,则要使用Criteria的add()方法加入“条件实例” 条件实例是由Restrictions的各种静态方法返回,返回的每个实例都代表一个条件

        如:

            List<House> houses = null;

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

            criteria.add(Restrictions.eq("name","admin"));//eq()

            houses = criteria.list();

            //通过foreach来输出

            for (Users users : list) {
                System.out.println("用户名"+users.getName());
            }

    就这样吧,如果可以的话下次再补上吧




你可能感兴趣的:(关于Hibernate的Criteria查询)