HQL查询
节 10.01 单表HQL查询
Sql代码
FROM CUSTOMERS as customers
FROM CUSTOMERS as customers节 10.02 Where子句
(a) 比较表达式Sql代码
FROM CUSTOMERS as customers WHERE customers.id=1
FROM CUSTOMERS as customers WHERE customers.amount between 1 and 10
FROM CUSTOMERS as customers WHERE customers.amount >100
FROM CUSTOMERS as customers WHERE customers.email in ('foo@bar','bar@foo')
FROM CUSTOMERS as customers WHERE customers.email IS NULL
FROM CUSTOMERS as customers WHERE customers.email IS NOT NULL
FROM CUSTOMERS as customers WHERE customers.email LIKE '@%'
FROM CUSTOMERS as customers WHERE customers.id=1
FROM CUSTOMERS as customers WHERE customers.amount between 1 and 10
FROM CUSTOMERS as customers WHERE customers.amount >100
FROM CUSTOMERS as customers WHERE customers.email in ('foo@bar','bar@foo')
FROM CUSTOMERS as customers WHERE customers.email IS NULL
FROM CUSTOMERS as customers WHERE customers.email IS NOT NULL
FROM CUSTOMERS as customers WHERE customers.email LIKE '@%'HQL 操作符
HQL 常用操作符
描述
.
导航路径表达式操作符
+,-
一元正负号
*,/
乘除法
+,-
加减法
=,<>,<,>,>=,<=,[NOT]BETWEEN[NOT] LIKE,[NOT] IN,IS [NOT] NULL,IS [NOT] EMPTY
二元比较操作符
NOT,AND,OR
逻辑操作符
HQL操作符
(b) HQL常用函数
Sql代码
FROM User u where lower(u.email) = 'foo@163.com' --小写
FROM User u where lower(u.email) = 'foo@163.com' --大写
FROM User u where concat(u.firstname,u.lastname) like 'G% K%' --拼接字符串
FROM User u where size(u.bids) > 3 --集合大小
FROM User u where lower(u.email) = 'foo@163.com' --小写
FROM User u where lower(u.email) = 'foo@163.com' --大写
FROM User u where concat(u.firstname,u.lastname) like 'G% K%' --拼接字符串
FROM User u where size(u.bids) > 3 --集合大小HQL 函数
HQL 常用操作符
描述
UPPER(s),LOWER(s)
大小写
CONCAT(s1,s2)
连接字符串
SUBSTRING(s,offset,length)
取子串
TRIM()
去空格
LENGTH(s)
长度
LOCATE(search,s,offset)
搜索位置
ABS(n),SQRT(n),MOD(dividend,divisor)
绝对值,开方,除法
SIZE
大小写
BIT_LENGTH(s)
位数
CUTTENT_DATE()
当前时间
CURRENT_TIME()
CURRENT_TIMESTAMP()
SECOND(d)
获取时间的不同部分
MINUTE(d)
HOUR(d)
DAY(d)
MONTH(d)
YEAR(d)
CAST(t as TYPE)
类型转换
HQL函数
节 10.03 Order表达式
Sql代码
FROM CUSTOMERS as customers WHERE customers.id=1
ORDER BY customers.id FROM CUSTOMERS as customers
ORDER BY customers.lastname asc,firstname asc
FROM CUSTOMERS as customers WHERE customers.id=1
ORDER BY customers.id FROM CUSTOMERS as customers
ORDER BY customers.lastname asc,firstname asc
节 10.04 投影查询
Sql代码
SELECT user.username,user.password FROM UserInfo user
SELECT user.username,user.password FROM UserInfo user
注:1、在使用Select子句查询时,要给表对象起一个别名。
2、查询出的结果集是一个Object[]数组。
分享到:
相关推荐
**描述**:此操作符用于比较两个表达式的值是否相等。如果表达式 `A` 与表达式 `B` 的值相同,则返回 `TRUE`;否则返回 `FALSE`。 ##### 2. 不等值比较 (`<>` 或 `!=`) **语法**:`A <> B` 或 `A != B` **操作...
HQL支持多种条件查询,包括等于、不等于、大于、小于等操作符。如查询所有年龄大于20岁的用户: ```java String hql = "from User where age > 20"; ``` 同时,HQL还支持like、in、between等特殊查询条件。 三、HQL...
2. **条件查询**:HQL支持多种比较操作符(=, !=, <, >, , >=)以及逻辑运算符(AND, OR, NOT),例如`select e from Employee e where e.age > 30`。 3. **投影**:可以指定查询结果返回哪些字段,例如`select e....
### HQL语句使用大全 HQL(Hibernate Query Language)是一种...以上介绍了HQL的基础语法及常用操作,HQL的强大之处在于其灵活性和易用性,掌握了这些基本用法后,开发人员可以根据具体需求编写出更复杂的查询语句。
2. **函数与操作符**:HQL提供了丰富的函数,如聚合函数(sum、avg等)、日期时间处理函数,以及比较操作符(=、<、>等)。 3. **动态查询**:通过使用Criteria API或者Querydsl等工具,可以构建动态HQL,实现灵活...
1. **选择字段**:HQL可以选择类的属性或方法,甚至可以进行计算或函数调用。 ```sql SELECT p.name, p.age FROM Person p ``` 2. **选择实体**:完整地选择一个实体对象。 ```sql SELECT p FROM Person p ...
SQL提供了丰富的函数和操作符,可以对数据进行各种复杂的处理。 HQL在某些情况下可能需要Hibernate或其他ORM框架进行转换为SQL,这个转换过程可能会引入额外的开销。然而,现代的ORM框架通常都提供了良好的性能优化...
HQL提供了`IN`、`NOT IN`、`MEMBER OF`等操作符,便于处理集合属性。 10. **函数与方法调用**: HQL支持内置的数学、字符串和日期函数,也可以调用实体类中的方法。 通过学习“Spring中常用的HQL查询方法.doc”...
HQL支持各种比较和逻辑操作符,如`=`、`<>`、`>`、`、`>=`、`、`between`、`not between`、`in`、`not in`、`is`、`like`等,用于构建复杂的查询条件。 示例: - `from DomesticCat cat where cat.name between 'A'...
若要查询id在特定集合中的用户,可以使用`IN`操作符,如`FROM User where id IN (:ids)`,并使用`.setParameterList("ids", new Object[]{1,3,4})`传递数组。 9. **使用命名查询**: 命名查询将HQL语句写在`.hbm....
HQL支持多种查询方式,包括对象查询、属性查询、参数查询、关联查询、分页查询、统计函数查询以及原生SQL查询。 在HQL中,查询的目标是对象,而不是数据库表,条件通常是对象的属性。例如,`from Student s`会查询...
2. **比较操作**:利用比较操作符(如`>`, `, `!=`, `in`, `between`, `like`等)进行更复杂的筛选。例如,`"from User as user where user.age > 20"`,或`"from User as user where user.name like 't%'"`,这些...
Hibernate Query Language(HQL)是Hibernate框架提供的面向对象的查询语言,它允许开发者以类和属性的名称进行查询,而不是直接操作数据库的表和列。HQL的强大之处在于它将数据库操作与业务逻辑解耦,使得代码更...
HQL(Hibernate Query Language)是Hibernate框架中用于操作对象关系映射(ORM)的查询语言,它是SQL的面向对象版本,使得开发者可以更方便地在Java应用中进行数据库查询。本教程将深入讲解HQL的基础语句,包括ID...
6. **函数与操作符**:HQL支持多种函数,如聚合函数(`count`、`sum`、`avg`、`max`、`min`)和日期时间操作。同时,它也支持比较操作符(`=`, `, `>`, `, `>=`, `!=`),逻辑操作符(`and`, `or`, `not`),以及...
另外,可以在 `SELECT` 子句中使用统计函数,例如 `COUNT(*)`, `MIN()`, `MAX()` 等,也可以使用 `DISTINCT` 关键字来去除重复记录: ```java String hql = "select distinct user.name from TUser as user"; ``` ...
**HQL学习教程Hibernate入门** Hibernate是一个开源的Java ORM(对象关系映射)框架,它允许开发者用面向对象的...通过深入学习和实践这些知识点,你可以更好地掌握Hibernate和HQL,提升Java开发中的数据库操作效率。
- 使用WHERE子句指定查询条件,支持比较操作符(=、<、>、、>=、!=)、逻辑操作符(AND、OR、NOT)以及IN、BETWEEN、LIKE等。 5. **函数与运算符** - 支持数学函数(如SUM、AVG、COUNT、MAX、MIN)和字符串函数...