Hibernate QBC 简单收集
Hibernate QBC
介绍:
QBC(Query By Criteria)通过 API 来检索对象
主要由 Criteria 接口、Criterion 接口和 Exception 类组成,支持在运行时动态生成查询语句。
声明
事先定义:Department Employee 两个实体类
示例
查询
List<Employee> empList = session.createCriteria(Employee.class).list();
分页
List<Employee> empList = session.createCriteria(Employee.class).setFirestResult(0).setMaxResults(4).list();
Like 查询,忽略大小写
List<Employee> empList = session.createCriteria(Employee.class)
.add(Restrictions.like("ename","a",MatchMode.ANYWHERE).ignoreCase())
.list();
between 查询
list<Employee> empList = session.createCriteria(Employee.class)
.add(Restrictions.between("hiredate",begindate,enddate))
.list();
in 查询
list<Employee> empList = session.createCriteria(Employee.class)
.add(Restrictions.in("id",new Integer[]{12,123}))
.list();
> 或 >=
list<Employee> empList = session.createCriteria(Employee.class).add(Restrictions.ge("id",123)).list();
多条件查询
list<Employee> 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<Employee> empList = session.createCriteria(Employee.class)
.addOrder(Order.desc("salary"))
.list();
统计
list<Employee> empList = session.createCriteria(Employee.class)
.setProjection(Projections.rowCount())
.add(Restrictions.eq("dept.id",20))
.list();
count 统计
list<Employee> 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<Employee> empList = session.createCriteria(Employee.class).add(Restrictions.isNotNull("comm")).list();
Hibernate QBC 简单收集的更多相关文章
- Hibernate框架简单应用
Hibernate框架简单应用 Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.proper ...
- ssh架构之hibernate(一)简单使用hibernate完成CRUD
1.Hibernate简介 Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,h ...
- 新秀学习Hibernate——一个简单的例子
一个.Hibernate开发. 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类. 为了可以使用Hibernate高速上手,我们先解说一个简单的Hibernate应用实例hibernat ...
- Spring-boot+Spring-batch+hibernate+Quartz简单批量读文件写数据用例
本文程序集成了Spring-boot.Spring-batch.Spring-data-jpa.hibernate.Quartz.H2等.完整代码在Github上共享,地址https://github ...
- Hibernate QBC
QBC查询: Query By Criteria 使用面向对象的方式查询 和HQL单表查询相似,但不包含别名查询和具名查询 1 全表查询 Criteria ce = session.createC ...
- 【SSH三大框架】Hibernate基础第五篇:利用Hibernate完毕简单的CRUD操作
这里利用Hibernate操作数据库完毕简单的CRUD操作. 首先,我们须要先写一个javabean: package cn.itcast.domain; import java.util.Date; ...
- Maven+Struts+Hibernate+Spring简单项目搭建
这段时间学习如何使用Maven+Struts+Hibernate+Spring注解方式建立项目,在这里感谢孙宇老师. 第一次写博客,主要是方便自己查看,同时分享给大家,希望对大家有所帮助,我也是 ...
- 【SSH】——Hibernate实现简单的自动建表
[与ORM] Object Relational Mapping,对象关系映射,将对象和关系联系了起来.面向对象是从耦合.聚合.封装等的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论 ...
- SSH 项目中 用Hibernate底层 简单的封装DAO层
废话不多少了,主要是使用hibernate的查询方法,自己封装了DAO层,供service来方便使用. 首先:必须要继承的 public class CommonDao extends Hiberna ...
随机推荐
- 记录下sparkStream的做法(scala)
一直用storm做实时流的开发,之前系统学过spark但是一直没做个模版出来用,国庆节有时间准备做个sparkStream的模板用来防止以后公司要用.(功能模拟华为日常需求,db入库hadoop环境) ...
- main函数执行前后还会发生什么
问题分析 首先main()函数只不过是提供了一个函数入口,在main()函数中的显示代码执行之前,会由编译器生成_main函数,其中会进行所有全局对象的构造以及初始化工作.简单来说对静态变量.全局变量 ...
- SQL Server作业的备份
作业备份,不是备份数据库,是备份作业.我的方法是把作业导出成文件备份起来,因为当你服务器维护的多了的时候很多你的作业 就很成问题,很麻烦.最好能够作业实现同步,这个也是第一步,保存成文件,之后个人设想 ...
- 基于阿里云安装脚本扩展 之 自动安装mongodb及php扩展
好久没有发布文章了,有点跟不上当初这个博客的初衷.为了使自己的博客更新不半途而废,今天特意再写了一个自动安装脚本,一样是基于阿里云的服务端安装脚本进行的扩展.闲话不说,直接放代码: #!/bin/ba ...
- js校验文本框只能输入数字(包括小数)
form表单 <form method="POST" action=""> <input type="text" id=& ...
- bzoj 1050 [HAOI2006]旅行comf——kruscal
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1050 因为还有Impossible的情况,所以想到了kruscal.(?) 但好像不太行.然 ...
- H5C3--background中cover,背景样式,提升响应区域+精灵图的使用
一.cover的使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- ajax请求数据以及处理
html <div class="list-block media-list mp0 mbb" data-infos='infos' style="display: ...
- jeecms内容管理系统使用了哪些技术
jeeecms作为国内Java开源内容管理系统的龙头老大(感谢jeecms研发小组的辛苦劳作),技术架构也是比较成熟的,当然涉及到的技术也就相对多一些 看看jeecms内容管理系统使用了哪些技术 we ...
- 超高频率问题之信息: Illegal access: this web application instance has been stopped already. Could not load . The eventual following stack trace is caused by an error thrown for debugging purposes as well as
出现频率非常高,目前还不确定具体是什么原因导致