“hql精点查询语句.doc” 在文档“hql精点查询语句.doc”中,主要探讨了Hibernate Query Language(HQL)的一些关键查询语句和功能。HQL是Hibernate提供的面向对象的查询语言,它允许开发者以类和属性的名字而不是数据库表和列来编写查询,使得SQL操作更加面向对象。 1. from子句 `from Person` 这个语句表示从`Person`持久化类中选择所有的实例。这是HQL的基本查询结构,用于指定要查询的对象。 2. select子句 - `select p.name from Person as p` 选择`Person`类中的`name`属性。 - `select p.name.firstName from Person as p` 获取`Person`类中嵌套属性`name.firstName`。 - `select new list(p.name, p.address) from Person as p` 创建一个包含`name`和`address`的新列表。 - `select new ClassTest(p.name, p.address) from Person as p` 如果`ClassTest`是可构造的,创建一个新的`ClassTest`实例,传入`name`和`address`。 - `select p.name as personName from Person as p` 使用别名`personName`引用`name`属性。 - `select new map(p.name as personName) from Person as p` 创建一个Map,其中键是`personName`,值是`name`。 3. 统计函数查询 - `count(*)` 统计查询结果的记录数,如`select count(*) from Student`计算`Student`类的实例数量。 - `min()` 求最小值,例如`select min(p.age) from Person as p`找出`Person`的最小年龄。 - `max()` 求最大值,如`select max(p.age) from Person as p`找到`Person`的最大年龄。 - `sum()` 求和,例如`select sum(p.age) from Person as p`计算所有`Person`的年龄之和。 - `avg()` 求平均值,如`select avg(s.age) from Student as s`获取`Student`的平均年龄。 4. 字符串处理 - `upper()` 方法可以将字符串转换为大写,如`select upper(s.name) from Student as s`。 5. 去除重复行 `distinct` 关键字用于去除查询结果中的重复项,如`select distinct s.age from Student as s`。 6. 多态查询 - `from Person` 和 `from java.lang.Object o` 表示可以从`Person`类或任何对象类型进行查询,体现HQL的多态特性。 - `from Named as n` 可能是针对具有特定接口或注解的类进行查询。 7. where子句 - `where name like "tom%"` 用于设置查询条件,这里查找名字以"tom"开头的所有`Person`实例。 - 更复杂的条件,如`from Cat cat where cat.mate.name like "kit%"`,可以在关联的对象上设置过滤条件,如`Cat`的伴侣(mate)名字以"kit"开头。 通过这些HQL查询语句,开发者可以高效、灵活地对对象数据进行检索、统计和操作,实现了与数据库的无缝对接,简化了数据库操作。理解并熟练掌握这些语句对于进行基于Hibernate的开发至关重要。
下载后可阅读完整内容,剩余4页未读,立即下载
- 粉丝: 70
- 资源: 53
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦