Java Criteria教程:原生SQL查询与条件设置
需积分: 9 168 浏览量
更新于2024-07-13
收藏 323KB PPT 举报
在Java经典教程中,第T21.9课讲解了如何使用Hibernate框架中的Criteria查询来执行原生SQL语句设定查询条件。Criteria是Hibernate提供的一个高级查询接口,它允许开发者以面向对象的方式构建复杂的查询逻辑,而不仅仅是基于HQL(Hibernate Query Language)或原生SQL。
在本节内容中,首先介绍学习目标,即理解Criteria的基本原理和用法。Criteria查询的核心在于它的灵活性,它通过`session.createCriteria(Person.class)`创建一个Criteria对象,这里的`Person.class`指定了要查询的对象类型。
接下来,展示了如何实际操作,首先获取Hibernate Session(会话),然后调用`beginTransaction()`方法开始事务。接着,创建`Criteria`对象并设置查询条件,这里使用了`Restrictions.sqlRestriction()`方法,传入一个SQL表达式"{alias}.fname=?", 这个SQL片段表示查询fname列等于"wujin"的记录,其中{alias}是动态占位符,会被实际的列名fname替换。这个方法用于执行SQL表达式,而不是HQL语句,确保了对数据库表的直接访问。
在查询后,通过`list()`方法执行查询并获取结果列表。最后,确保事务的提交,`commit()`方法被调用。 Criteria的核心方法还包括`add()`、`setFetchMode()`、`addOrder()`等,用于添加限制条件、指定关联关系加载方式以及设置排序规则。
查询条件的使用部分则深入讲解了如何根据具体需求构造更复杂的条件,比如使用`add(Restrictions.eq())`添加等于条件,`add(Restrictions.between())`添加范围条件等。同时,Criteria也支持嵌套条件,可以组合多个条件形成更精确的查询。
排序则是通过`addOrder(Order.asc("column"))`或`addOrder(Order.desc("column"))`实现,分别对应升序和降序。这样,Criteria提供了灵活且强大的查询能力,使得开发人员能够更方便地根据业务场景定制数据库查询。
总结来说,T21.9_Criteria查询这部分教程是Java开发者学习Hibernate高级查询功能的重要章节,通过理解并掌握Criteria的使用,能够提升应用程序在处理复杂数据检索时的性能和灵活性。
2012-09-20 上传
2022-09-22 上传
2017-04-28 上传
2023-05-03 上传
2023-07-13 上传
2023-05-28 上传
2023-06-28 上传
2024-10-26 上传
2023-05-24 上传
2023-05-12 上传
慕栗子
- 粉丝: 19
- 资源: 2万+
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器