您的位置:首页 > 其它

关于Hibernate的Criteria查询

2013-12-10 00:00 218 查看
如同大家所了解的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());
}

就这样吧,如果可以的话下次再补上吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: