博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate QBC 简单收集
阅读量:5051 次
发布时间:2019-06-12

本文共 1915 字,大约阅读时间需要 6 分钟。

Hibernate QBC

介绍:

QBC(Query By Criteria)通过 API 来检索对象

主要由 Criteria 接口、Criterion 接口和 Exception 类组成,支持在运行时动态生成查询语句。

声明

事先定义:Department Employee 两个实体类

示例

查询

List
empList = session.createCriteria(Employee.class).list();

分页

List
empList = session.createCriteria(Employee.class).setFirestResult(0).setMaxResults(4).list();

Like 查询,忽略大小写

List
empList = session.createCriteria(Employee.class).add(Restrictions.like("ename","a",MatchMode.ANYWHERE).ignoreCase()).list();

between 查询

list
empList = session.createCriteria(Employee.class).add(Restrictions.between("hiredate",begindate,enddate)).list();

in 查询

list
empList = session.createCriteria(Employee.class).add(Restrictions.in("id",new Integer[]{12,123})).list();

> 或 >=

list
empList = session.createCriteria(Employee.class).add(Restrictions.ge("id",123)).list();

多条件查询

list
empList = session.createCriteria(Employee.class).add(Restrictions.ge("id",123)).add(Restrictions.between("hiredate",begindate,enddate)).add(Restrictions.like("ename","a", MatchMode.ANYWHERE).ignoreCase()).list();

排序

list
empList = session.createCriteria(Employee.class).addOrder(Order.desc("salary")).list();

统计

list
empList = session.createCriteria(Employee.class).setProjection(Projections.rowCount()).add(Restrictions.eq("dept.id",20)).list();

count 统计

list
empList = session.createCriteria(Employee.class).setProjection(Projection.projectionList().add(Projetions.property("dept.id")).add(Projections.rowCount()).add(Projections.avg("salary")).add(Projections.max("salary")).add(Projections.min("salary")).add(Projections.sum("salary")).add(Projections.groupProperty("dept.id"))).list();

非空查询

list
empList = session.createCriteria(Employee.class).add(Restrictions.isNotNull("comm")).list();

转载于:https://www.cnblogs.com/holddie/p/7236103.html

你可能感兴趣的文章
java学习笔记之String类
查看>>
pymysql操作mysql
查看>>
Linux服务器删除乱码文件/文件夹的方法
查看>>
牛腩记账本core版本源码
查看>>
Word Break II
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
jdk从1.8降到jdk1.7失败
查看>>
一些关于IO流的问题
查看>>
mongo备份操作
查看>>
8 -- 深入使用Spring -- 3...1 Resource实现类InputStreamResource、ByteArrayResource
查看>>
硬件笔记之Thinkpad T470P更换2K屏幕
查看>>
一个关于vue+mysql+express的全栈项目(六)------ 聊天模型的设计
查看>>
【知识库】-数据库_MySQL 的七种 join
查看>>
.net 写文件上传下载webservice
查看>>
noSQL数据库相关软件介绍(大数据存储时候,必须使用)
查看>>
iOS开发——缩放图片
查看>>
HTTP之URL的快捷方式
查看>>
满世界都是图论
查看>>
配置链路聚合中极小错误——失之毫厘谬以千里
查看>>
【BZOJ4487】[JSOI2015] 染色问题(高维容斥)
查看>>