文档章节

关于Hibernate的Criteria查询

梦游先生
 梦游先生
发布于 2013/12/10 22:19
字数 380
阅读 425
收藏 8

        如同大家所了解的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());
            }

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




© 著作权归作者所有

梦游先生
粉丝 0
博文 10
码字总数 5647
作品 0
广州
程序员
私信 提问
关于hql和criteria的取舍问题

最近在hibernate有点小纠结,dao层封装一套criteria查询框架,可以说在dao层就是公用的了,就只有一个了,但是criteria在多表联查性能上有些问题,eg:5张表各50字段,对于criteria会产生查询2...

熊英
2013/11/28
161
1
java Hibernate框架qbc查询

public QueryResult pagingQueryByWhere(Auction auction, Integer firstResult, Integer maxResult) { Session session = HibernateUtil.getSession(); Criteria criteria =session.createC......

吃惊
2016/08/27
166
1
Hibernate QBC查询

转载自iteye的iorit2003博客 QBC查询: QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口。我们看...

hlyton
2013/08/28
0
0
【hibernate criteria】hibernate中criteria的完整用法 转

---恢复内容开始--- 转自:http://www.360doc.com/content/090313/10/26262_2794855.html 1、Criteria   Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Cr......

angel挤一挤
2016/07/22
0
0
Hibernate框架之Criteria查询 和注解

今天呢,我就详细的写着 Hibernate框架的一种检索方式:Criteria查询。下面我写的这些案例,可能对于大牛没有什么好看的,但是对于初学者来说,却是一笔财富。 首先我们要知道的检索方式: ...

小思绪跌跌撞撞仰望天空
2016/08/25
79
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习之模块

1、 stub_status模块: 用于展示nginx处理连接时的状态。 配置语法如下: Syntax:stub_status;Default:默认没有配置Context:server、location 可以编辑default.conf,加上如下配置: ...

码农实战
47分钟前
4
0
MySQL,必须掌握的6个知识点

目录 一、索引B+ Tree 原理 MySQL 索引 索引优化 索引的优点 索引的使用条件 二、查询性能优化使用 Explain 进行分析 优化数据访问 重构查询方式 三、存储引擎InnoDB MyISAM 比较 四、数据类...

李红欧巴
50分钟前
4
0
堆”和“栈

C++作为一款C语言的升级版本,具有非常强大的功能。它不但能够支持各种程序设计风格,而且还具有C语言的所有功能。我们在这里为大家介绍的是其中一个比较重要的内容,C++内存区域的基本介绍。...

SibylY
今天
4
0
总结:Https

一、介绍 简单理解,https即在http协议的基础上,增加了SSL协议,保障数据传输的安全性。 它由以前的http—–>tcp,改为http——>SSL—–>tcp;https采用了共享密钥加密+公开密钥加密的方式 ...

浮躁的码农
今天
6
0
数据库表与表之间的一对一、一对多、多对多关系

表1 foreign key 表2 多对一:表 1 的多条记录对应表 2 的一条记录 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记...

Garphy
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部