QBC 查询

article/2025/11/7 20:41:20

当使用 hibernate 的 QBC 进行查询的时候,无需写 sql 语句,使用的是 Criteria 对象中的方法进行的实现,创建 Criteria 对象的时候,需要传入一个实体类.class,会自动关联该实体类对应的数据库表。

一:查询所有

Criteria criteria = session.createCriteria(User.class)

List<User> list = criteria.list()

二:条件查询

使用 Criteria 对象进行查询的时候,无语句,使用的是 Criteria 对象封装的方法进行条件的拼接。

criteria.add 表示添加条件,

Restrictions .eq表示添加的是等值

Restrictions .gt表示添加的是大于

Restrictions .ge表示添加的是大于等于

Restrictions .lt表示添加的是小于

Restrictions .le表示添加的是大于等于

Restrictions .eq表示添加的是等值

Restrictions .like表示添加的是模糊查询

criteria.add(Restrictions .eq("实体类属性名",值))

等值查询:

Criteria criteria = session.createCriteria(User.class)

criteria.add(Restrictions.eq("userAge",20))

criteria.add(Restrictions.eq("userSex","男"))

List<User> list = criteria.list()

模糊查询:

Criteria criteria = session.createCriteria(User.class)

criteria.add(Restrictions.like("username","%mitu%"))

List<User> list = criteria.list()

三:排序查询

排序使用的是 criteria 对象中的方法 add0rder() 进行排序,需要传入一个 Order 对象,传入的 Order对象,可以使用 Order 类中的静态方法指定排序的字段和排序的方式

criteria.add0rder(Order.desc( "实体类属性名"));

升序:

Criteria criteria = session.createCriteria(User.class)

criteria.addOrder(Order.asc("cid"))

List<User> list = criteria.list()

降序:

Criteria criteria = session.createCriteria(User.class)

criteria.addOrder(Order.desc("cid"))

List<User> list = criteria.list()

四:分页查询

QBC 的分页查询,与 hql 语句分页查询使用的方法一样。setFirstResult() 设置起始位置,setMaxResult() 设置一页显示的条数。

Criteria criteria = session.createCriteria(User.class)

criteria.setFirstResult(0)

criteria.setMaxResult(5)

List<User> list = criteria.list()

五:统计查询

统计条数

Criteria criteria = session.createCriteria(User.class)

criteria.setProjection(Projedtions.rowCount());

使用 uniqueResult() 获取执行的结果

Object count = criteria.uniqueResult()

六:离线查询

QBC 可以进行离线查询,不通过 session 获取 Criteria 对象,

获取 DetachedCriteria 对象

DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class);

当需要执行查询的时候,传入 session 获取 Criteria 对象

Criteria criteria = detachedCriteria.getExecutableCriteria(session);

List<User> list = criteria.list()


http://chatgpt.dhexx.cn/article/o8sHEhQY.shtml

相关文章

Hibernate--QBC举例+详解(一)

QBC检索 QBC&#xff08;Query By Criteria&#xff09;是Hibernate提供的另一种检索对象的方式&#xff0c;它主要由Criteria接口、Criterion接口和Expression类组成。 Criteria接口是Hibernate API中的一个查询接口&#xff0c;它需要由session进行创建。一个单独的查询就是…

统一软件开发过程(RUP)的概念和方法

统一软件开发过程&#xff08;Rational Unified Process,RUP)是一种面向对象且基于网络的程序开发方法论。 根据Rational(Rational Rose和统一建模语言的开发者)的说法&#xff0c;好像一个在线的指导者&#xff0c;它可以为所有方面和层次的程序开发提供指导方针&#xff0c;…

程序员技术开发委托合同模板 私活模板

---需要电子word版&#xff0c;请关注--------- 回复&#xff1a;私活 含税与不含税计算工具&#xff1a; 假设税率是6% 不含税金额&#xff1d;总金额/1.06 税额&#xff1d;不含税金额0.06 增值税在线计算器&#xff1a;http://www.ab126.com/goju/7332.html 大小写转换&…

软件开发模型

1.1大爆炸模型 大爆炸默认是相对简单的开发模型&#xff0c;在开发过程中&#xff0c;没有什么规范和计划&#xff0c;更没有测试 1.2 边做边改模型 相对于大爆炸模型&#xff0c;考虑到了项目需求&#xff0c;然后开发来回的编写&#xff0c;测试&#xff0c;修改缺陷的过程…

10种软件开发模型整理

准备整理一下软件模型&#xff0c;但是百度到都是零散信息&#xff0c;所以文章准备从概念、模型核心思想、优点、缺点、生命周期等体现各个软件模型 什么是软件模型 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、…

系统软件开发基础知识

系统软件开发基础知识 最近最火的是孩子考了多少分&#xff0c;能上那个好大学&#xff0c;出现了我的大学的我的梦。 他们的大学他们的梦&#xff0c;我是啥&#xff0c;我的软件我的梦。 下面了解到的基础知识做一个归纳&#xff0c;本人了解这方面的知识点可能很片面&…

软件开发测试验收通知书,软件项目开发-客户告知书

为确保项目进度快速进行&#xff0c;在域名备案、开通相关第三方接口、确认功能文档、UI设计沟通和验收等阶段&#xff0c;恳请贵方百忙之中抽出时间积极配合&#xff0c;同时也为避免以后双方产生不必要的纠纷&#xff0c;特此告知贵方在项目进行过程中提供如下必要的配合条件…

利用Windows注册Dll或其他文件

注册Dll文件 前章 有时候&#xff0c;我要使用ActiveX控件&#xff0c;但是。如果别人给了一个Dll没注册进去怎么办。 注册 在电脑开始界面->运行->输入regsvr32“Dll文件所在路径”&#xff08;也可以用winR快捷键输出&#xff09;&#xff0c;如下图&#xff1a;

DLL注入——使用注册表

1.简介 整个系统的配置都保存在注册表中&#xff0c;我们可以通过调整其中的设置来改变系统的行为。 该方式依赖User32.dll&#xff0c;也就是说&#xff0c;需要可执行程序调用到这个系统动态库&#xff0c;我们注入的dll才会被执行到。基本上所有基于GUI的应用程序都使用了…

如何手动运行dll文件,非注册dll

遇到一个dll文件的恶意样本&#xff0c;cuckoo沙箱给出的运行命令如下&#xff1a; cd C:\Windows\System32\ rundll32.exe C:\coreshell.dll,DllMain 方法&#xff1a;rundll32.exe 文件位置,DllMain but会弹出警告 另外一种方法&#xff0c;在专家的文章中有提到 DllM…

怎样在计算机上注册dll文件,win10如何注册dll文件_win10系统dll文件怎样安装

在win10系统中&#xff0c;有着大量的dll文件&#xff0c;这是一种计算机上的一类文件&#xff0c;而且一个DLL文件也可能被不同的应用程序使用&#xff0c;但是许多用户可能都不知道win10注册dll文件的操作&#xff0c;那么win10如何注册dll文件呢&#xff1f;接下来就来告诉大…

Win10注册DLL办法

测试环境&#xff1a;win7 64位系统自动升级到win10 64位系统 经验提升&#xff1a;不要在开始-运行-CMD里面执行&#xff0c;不起作用。 注册步骤如下&#xff1a; 1、准备要注册的DLL文件到指定目录 2、新建一个BAT文件&#xff0c;写入注册命令 3、右键已管理员身份运行注…

怎样在计算机上注册dll文件,注册dll文件【搞定步骤】

喜欢使用电脑的小伙伴们一般都会遇到win7系统注册dll文件的问题&#xff0c;突然遇到win7系统注册dll文件的问题就不知道该怎么办了&#xff0c;其实win7系统注册dll文件的解决方法非常简单&#xff0c;按照 1&#xff1a;在电脑桌面上&#xff0c;依次选中菜单项开始--运行&am…

C#【必备技能篇】注册dll+批量注册dll

文章目录 问题描述&#xff1a;一、注册单个dll&#xff1a;1、把相应的dll放置到System32&#xff08;32位&#xff09;和SysWOW64中2、以管理员身份打开“命令提示符”3、输入cmd指令完成注册4、把相关的dll放置到项目输出路径下&#xff0c;即可成功引用 二、批量注册dll1、…

photoshop cc 2018破解补丁(pscc2018注册机) 附使用方法

1、下载破解程序 破解文件自行到 http://www.ddooo.com/softdown/109954.htm 下载 博主可以到本博客的文件--》pscc2018zcj_109954.rar下载 2、破解 打开Amtemu.exe 第一个下拉框选择 adobe photoshop cc 2015 没错&#xff0c;就是2015 。。2015可以破解2018的 然后点击…

安装ADOBE全系列软件的步骤

第一步&#xff1a;下载Adobe Creative Cloud 这款应用里几乎囊括了Adobe旗下的所有软件&#xff0c;也就是说有了这个应用&#xff0c;以后下载Adobe的任意一款软件&#xff0c;完全不用再去百度搜索下载地址了&#xff0c;更不用担心来源不正有病毒啥的&#xff0c;只要你的电…

Adobe Audition CS6

Adobe Audition CS6是一款功能强大、效果出色的多轨录音和音频处理软件&#xff0c;可在普通声卡上同时处理多达64轨的音频信号&#xff0c;并且最多支持混合128个声道&#xff0c;创建回路并使用45种以上的数字信号处理效果&#xff0c;具有极其丰富的音频处理效果。而且Audit…

Adobe Lightroom For Mac安装使用教程

软件介绍 Adobe Photoshop Lightroom是Adobe 研发的一款以后期制作为重点的图形工具软件&#xff0c;是当今数字拍摄工作流程中不可或缺的一部分。其增强的校正工具、强大的组织功能以及灵活的打印选项可以帮助您加快图片后期处理速度&#xff0c;将更多的时间投入拍摄。 安装…

Adobe Acrobat DC 2015 for Mac

作为世界上优秀的桌面版 PDF 解决方案的后继之作&#xff0c;焕然一新的 Acrobat DC 将彻底超乎您的想象。Adobe Acrobat DC 2015 for Mac 是一款值得信赖的 PDF 创建程序&#xff0c;可使您的工作变得更轻松。使用 Acrobat 对 PDF 文件进行转换、编辑和签名&#xff0c;无论您…

Adobe Acrobat Pro DC 2021下载及教程

资源地址&#xff1a;Adobe Acrobat Pro DC 2021 Adobe Acrobat Pro DC 2021是一款功能强大且专业性的PDF编辑处理工具&#xff0c;该软件也是一款知名度非常高的一款文件处理软件&#xff0c;该软件提高了PDF解决方案的新里程碑&#xff0c;还拥有全球最顶尖的PDF文件编辑处理…