1.HQL查询(hibernate query language) 操作的是实体类和属性

*查询所有记录

//1.hql查询操作会使用Query对象
// (1)写sql语句 创建Query对象,
String hql = "from Student"; //from后面是实体类名
Query query = session.createQuery("hql"); //(2)调用方法得到结果
List<Student> list = query.list(); //(3)遍历输出
for( Student student : list){
syso(student.getid()+":::"+student.getname());
}

2.条件查询

*****1.

//1.hql查询操作会使用Query对象
// (1)写sql语句 创建Query对象,
String hql = "from Student where id=? and name=?";
Query query = session.createQuery("hql"); //设置条件值
//第一个参数是?的位置 类型是int 第二个参数是设置的值
query.setParameter(0,1);
query.setParameter(1,"张三"); //(3)调用方法得到结果
List<Student> list = query.list(); //(4)遍历输出
for( Student student : list){
syso(student.getid()+":::"+student.getname());
}

**********2.模糊条件查询

//1.hql查询操作会使用Query对象
// (1)写sql语句 创建Query对象,
String hql = "from Student where name like ?";
Query query = session.createQuery("hql"); //设置条件值
//第一个参数是?的位置 类型是int 第二个参数是设置的值
//查询以张开头的姓名
query.setParameter(0,"张%"); //(3)调用方法得到结果
List<Student> list = query.list(); //(4)遍历输出
for( Student student : list){
syso(student.getid()+":::"+student.getname());
}

3.排序查询

//1.hql查询操作会使用Query对象
// (1)写sql语句 创建Query对象,升序查询asc 降序查询desc;
String hql = "from Student order by cid asc";
Query query = session.createQuery("hql"); //(3)调用方法得到结果
List<Student> list = query.list(); //(4)遍历输出
for( Student student : list){
syso(student.getid()+":::"+student.getname());
}

4.分页查询

在mysql中实现分页使用关键字limit实现

SELECT * FROM Student  LIMIT 0,5
//0是起始位置 5是显示最多纪录数

在hibernate中封装了两个方法来实现分页查询的操作

//1.hql查询操作会使用Query对象
// (1)写sql语句 查询所有 创建Query对象,
String hql = "from Student";
Query query = session.createQuery("hql"); //设置分页数据
query.setFirstResult(0);
query.setMaxResults(5); //(3)调用方法得到结果
List<Student> list = query.list(); //(4)遍历输出
for( Student student : list){
syso(student.getid()+":::"+student.getname());
}

5.投影查询

*****查询的是表中的某一字段的所有值

//1.hql查询操作会使用Query对象
// (1)写sql语句 创建Query对象,
String hql = "select name from Student";
Query query = session.createQuery("hql"); //(3)调用方法得到结果 泛型的类型这里可以是String 如果多个字段的类型不一样 可以写Object
List<Object> list = query.list(); //(4)遍历输出
for( Object object : list){
syso(object);
}

6.聚集函数

*****常见的几种聚集函数  count avg min max sum ;

在这里演示查询表中的记录数

//1.hql查询操作会使用Query对象
// (1)写sql语句 创建Query对象,
String hql = "select count(*) from Student";
Query query = session.createQuery("hql"); //(3)调用方法得到结果 这里用query对象方法直接返回对象形式 不需要list
Object obj = query.uniqueResult();
syso(obj); <-- 注意 上面的那个方法返回类型是Object 如果要返回int或者其他类型 咱们首先考虑到会进行类型的强转 但是在这里会输出异常 异常类型是类型转换异常(ClassCastException) 所以我们要先把Object类型转换成long类型 在转换成Integer类型;
Long longO = (Long)obj;
int count = longO.intValue();
syso(count); -->

hibernate查询方式(二)的更多相关文章

  1. hibernate查询方式

    hibernate查询方式:1.本地SQL查询 2.HQL查询 3.QBC查询 HQL查询:是面向对象的查询语言,是使用最广的一种查询方法 QBC查询:Query by Criteria是一套接口来实 ...

  2. (十)Hibernate 查询方式

     所有项目导入对应的hibernate的jar包.mysql的jar包和添加每次都需要用到的HibernateUtil.java 第一节:Hibernate 查询方式简介 1,导航对象图查询方式: 2 ...

  3. Hibernate查询方式(补)

    -----------------siwuxie095                             Hibernate 查询方式         1.对象导航查询     根据已经加载的对 ...

  4. Hibernate学习10——Hibernate 查询方式

    本章主要是以查询Student的例子: Student.java: package com.cy.model; public class Student { private int id; priva ...

  5. Hibernate 查询方式、JPA查询方式

    hibernate 查询方式: OID 查询 对象导航查询 HQL 方式查询 QBC方式查询 原生SQL方式查询 JPA 查询方式: OID 查询 对象导航查询 JPQL 方式查询 CriteriaB ...

  6. hibernate 查询方式汇总

    主要摘自  http://blog.sina.com.cn/s/blog_7ffb8dd501014a6o.html ,http://blog.csdn.net/xingtianyiyun/artic ...

  7. Hibernate学习笔记(五)—— Hibernate查询方式

    一.对象图导航查询 对象图导航查询方式是根据已经加载的对象,导航到他的关联对象.它利用类与类之间的关系来查询对象.比如要查找一个联系人对应的客户,就可以由联系人对象自动导航找到联系人所属的客户对象.当 ...

  8. hibernate 查询方式

    1.对象导航查询 2.OID查询 3.hql查询 4.QBC查询 5.本地sql查询 一.对象导航查询 示例: 查询id=6的user对象的所有角色: 二.OID查询 实例查询id=6的user对象 ...

  9. Hibernate查询方式汇总

    Hibernate总的来说共有三种查询方式:HQL.QBC和SQL三种.但是细分可以有如下几种: 一.HQL查询方式    这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的 ...

  10. Hibernate 查询方式(HQL/QBC/QBE)汇总

    作为老牌的 ORM 框架,Hibernate 在推动数据库持久化层所做出的贡献有目共睹. 它所提供的数据查询方式也越来越丰富,从 SQL 到自创的 HQL,再到面向对象的标准化查询. 虽然查询方式有点 ...

随机推荐

  1. NOIP原题 斗地主(20190804)

    题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关 系根据牌的数码表示如下:3<4&l ...

  2. npm start 的应用 改为forever 后台启动的方法记录

    记录日志的启动方式 forever start -l forever.log -o out.log -e err.log app.js 记录日志的启动方式 forever start -a app.j ...

  3. docker项目——搭建飞机大战小游戏

    项目2:搭建打飞机小游戏,验证数据持久化(最底下有链接) 第一步:拉取镜像 [root@localhost docker-image]# docker load < httpd_img.tar. ...

  4. Linux PXE自动化安装centos6,centos7系统

    1.PXE是什么? pxe是Preboot Excution Environment的缩写,是intel公司研发,基于client/server的网络模式,支持远程主机通过网络从远端服务器下载镜,并由 ...

  5. activmq点对点(简单写法)

    开发环境 我们使用的是ActiveMQ 5.11.1 Release的Windows版,官网最新版是ActiveMQ 5.12.0 Release,大家可以自行下载,下载地址. 需要注意的是,开发时候 ...

  6. 深入理解计算机系统 第二章 信息的表示和处理 Part1 第二遍

    <深入理解计算机系统> 第三版 第二遍读这本书,每周花两到三小时时间,能读多少读多少(这次看了 22 ~ 28 页) 第一遍对应笔记链接 https://www.cnblogs.com/s ...

  7. PHP读取Excel内的图片

    今天接到了一个从Excel内读取图片的需求,在网上查找了一些资料,基本实现了自己的需求,不过由于查到的一些代码比较久远,不能直接移植到自己的项目里,需要稍加改动一下. 这里介绍一下分别使用phpspr ...

  8. [quartusⅡ] 使用quartusⅡ的过程中,遇到过的一些“软件上的问题”

    1.USB blaster的驱动在设备管理器上点“更新驱动软件”,更新不了,说什么哈希值不在指定目录下,如下图, 解决方法是,https://blog.csdn.net/rdgfdd/article/ ...

  9. python的模块future用法实例解析

    计算机的知识太多了,很多东西就是一个使用过程中详细积累的过程.最近遇到了一个很久关于future的问题,踩了坑,这里就做个笔记,免得后续再犯类似错误.   future的作用:把下一个新版本的特性导入 ...

  10. hdu 1880 魔咒词典(双hash)

    魔咒词典Time Limit: 8000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...