您的位置:首页 > 其它

hibernate_三种查询方式

2017-11-10 21:34 405 查看
1.hibernate查询

五种查询方式 :

oid检索 : 根据id查询 session.get ,session.load

对象导航检索 (特点)  使用对象查询,session.get(class,id);

qbc检索   Qbc(query by criteria) 对象条件查询(更加面向对象)

hql检索    Hql(hibernate query language),语法与sql类似 

sql检索    使用原生sql进行查询,


2.HQL查询(Hibernate query language)


是面向对象查询(在sql里面把表名改为与该表关联的类名,字段名改为属性名)语言,它和sql有些相似 .

语法 :
String hql = ".....";    
Query query = session.createquery(hql);
 
2.1
list() 查询多个
uniqueResult() 查询一个

2.2 基本查询

输出结果如下,

需要注意的是,如果返回结果为多个,使用uniqueResult查询,会报错

所以一般只有用id查询才会使用uniquerRusult,

使用uniqueResult 查询

输出结果如下

2.3 条件查询



查询结果如下



like 模糊查询 



查询结果如下 



范围查询 

between and查询






查询结果如下







聚合查询 (count sum max min avg)







查询结果









分组查询




查询结果如下





排序查询 order by





查询结果如下









分页查询 需要注意的是, hql语言里 没有limit,所以我们需要手都设置






查询结果如下








投影查询(其实就是查询指定字段)


查询结果如下









3.QBC查询

3.1 概述

query by criteria
通过条件查询(操作对象)






查询结果如下








条件查询








范围查询





查询结果如下






我列出了下面的条件查询





使用in 条件查询 演示



查询结果如下




使用and 条件查询 演示




结果如下




其实and 可以被普通查询代替,看个人使用习惯吧



聚合查询


Pr
be08
ojections 的api 如下




使用 sum 示例 查询id 的和




查询结果如下




分页查询 



查询结果如下 


分组查询


查询结果如下 

排序查询 

sql 查询 就不怎么讲了,只讲一个分页查询 

查询结果如下 

就讲那么多啦,  还有一个离线查询,有机会下次讲,如果有什么不对,欢迎指出不足
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: