Hibernate基本查询
来源:互联网 发布:科立讯写频软件 编辑:程序博客网 时间:2024/05/01 23:00
Hibernate基本查询
Hibernate聚合函数和分组查询
Hibernate分页查询和批量更新
Hibernate中的命名查询
Hibernate基本查询
主要内容:
1. Query接口
2. HQL基本查询
3. Hibernate投影查询
4. where条件查询
Query接口
简介:Query是Hibernate专门用来执行HQL语句的查询接口,使用方式:
Query query = session.createQuery("HQL语句");query.setParameter(...);List resultList = query.list();
HQL基本查询
Hibernate Query Language(HQL):官方推荐的查询语言,它具有以下功能:
1. 条件查询
2. 支持投影查询
3. 分页查询
4. 连接查询
5. 分组查询
6. 子查询
7. 内置了一些聚集函数
8. 支持动态绑定参数
查询实体类的所有实例对象,方式:
Query query = session.createQuery("from Student");List list = query.list();或 Iterator it = query.iterate();
查询实体类的单个实例对象,方式:
Query query = session.createQuery("from Student");Student stu = (Student)query.setMaxResults(1) .uniqueResult();
投影查询:即查询类的某几个属性,通过用select语句只选择类的部分属性来实现的。方式
Query query = session.createQuery(“SELECT id,name FROM Student");List list = query.list();
实例化投影查询结果:在对应实体类中添加初始化这些属性的构造方法即可.
指定别名:HQL可以指定要查询的实体类的别名
用关键字AS指定别名;也可以省略AS,直接加别名
String hql = "SELECT stu.id,stu.name FROM Student AS stu";Query query = session.createQuery(hql);List list = query.list();
where条件语句:查询符合条件的对象。
1. .号
2. 比较运算符
3. 范围运算符
4. 模式匹配符
5. 逻辑运算符
6. 用于集合的运算符
HQL提供了比较丰富的函数库,经常使用的如:
1. 字符串相关
2. 数字相关
3. 集合相关
4. 日期和时间
参数绑定:where子句中经常需要动态设置查询参数,Hibernate提供了两种参数绑定的方式。
1. 按参数名字绑定
2. 按参数位置绑定
distinct关键字:可以去掉结果中的重复值。
String hql = "SELECT distinct s.age FROM Student AS s";
order by关键字:对结果进行排序,默认为升序。
"FROM Student AS s ORDER BY s.id DESC"
Hibernate聚合函数和分组查询
主要内容:
1. 聚合函数
2. group by
3. having
聚合函数:查询结果作为Long返回
group by 对查询的数据,根据条件进行分组。
1.group by 经常跟聚集函数一起使用
“SELECT s.grade, COUNT(*) FROM Student AS s GROUP BY s.grade"
2.having关键字和group by关键字搭配使用,它对分组后的记录进行筛选
“SELECT s.grade FROM Student AS s GROUP BY s.grade HAVING COUNT(s.id) > 20"
Hibernate分页查询和批量更新
主要内容:
1. 分页查询
2. 批量update和delete
分页查询:
Query接口提供以下两个用于分页显示查询结果的方法:
setFirstResult(int firstResult)
setMaxResult(int maxResults)
Query query = session.createQuery("FROM Student"); List list = query.setFirstResult(9) .setMaxResult(10) .list();
批量update和delete:
在Hibernate3以后,HQL新增了update与delete语句,可以直接使用HQL指定更新或删除。
String hql = "DELETE Student WHERE name LIKE :ln";Query query = session.createQuery(hql); int count = query.executeUpdate();
Hibernate命名查询
主要内容:
1. Hibernate命名查询的配置
2. Hibernate命名查询的应用
Hibernate命名查询的配置:
将HQL查询语句编写在关系映射文件时,在程序中通过Session的getNameQuery()方法获取该查询语句。
Hibernate命名查询的应用:
命名查询语句可以是HQL语句,也可以是本地SQL语句,程序代码也不区分命名查询语句的类型,一律通过Session的getNameQuery()方法来获得查询语句,具体应用如下:
Query query = session.getNamedQuery(“queryStudentByCondition”);List list = query.list();
- Hibernate(二) Hibernate基本查询
- hibernate 基本查询
- Hibernate基本查询
- Hibernate QBC查询基本语句
- Hibernate之Criteria 基本查询
- Hibernate Gossip: Criteria 基本查询
- Hibernate之Criteria基本查询
- Hibernate基本查询(学习笔记)
- Hibernate基本查询上篇:HQL基本查询4
- Hibernate入门05 - 基本数据查询
- Hibernate入门05 - 基本数据查询
- Hibernate入门之基本数据查询
- Hibernate 查询语句HQL基本语法
- Hibernate 查询语句HQL基本语法
- Hibernate之HQL查询基本方法
- hibernate基本的HQL查询demo
- hibernate基于hql的基本查询
- ssh学习:hibernate中 HQL基本 查询
- ERROR 1129 (HY000): Host '' is blocked because of many connection errors;
- NSError 错误code对照
- 解决部分Maven依赖下载缓慢或卡死
- 修改远程桌面3389端口批处理
- 各种RAID的iozone测试结果
- Hibernate基本查询
- 前端开发中的总结(1)
- 如何显示隐藏的文件、文件夹或者驱动器
- JavaScript的 new function () {} 写法
- Android沉浸式标题栏状态栏字体颜色修改(小米和魅族以及Android6.0)
- P10请求
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
- JS模块化开发(requireJS)
- 前端组件化