JPQL语言和Query接口简解

简介: JPQL语言和Query接口简解

【1】JPQL语言

JPQL语言,即 Java Persistence Query Language 的简称。

JPQL 是一种和 SQL 非常类似的中间性和对象化查询语言,它最终会被编译成针对不同底层数据库的 SQL 查询,从而屏蔽不同数据库的差异。

JPQL语言的语句可以是 select 语句、update 语句或delete语句,它们都通过 Query 接口封装执行。

注意:JPQL语言不支持insert语句!

【2】Query接口

javax.persistence.Query接口封装了执行数据库查询的相关方法。调用 EntityManager 的createQuery、create NamedQuery 及 createNativeQuery 方法可以获得查询对象,进而可调用 Query 接口的相关方法来执行查询操作。

Query接口的主要方法

① int executeUpdate()

用于执行update或delete语句。

② List getResultList()

用于执行select语句并返回结果集实体列表。

③ Object getSingleResult()

用于执行只返回单个结果实体的select语句。

④ Query setFirstResult(int startPosition)

用于设置从哪个实体记录开始返回查询结果。

⑤ Query setMaxResults(int maxResult)

用于设置返回结果实体的最大数。与setFirstResult结合使用可实现分页查询。

⑥ Query setFlushMode(FlushModeType flushMode)

设置查询对象的Flush模式。

参数可以取2个枚举值:

FlushModeType.AUTO 为自动更新数据库记录;
FlushMode Type.COMMIT 为直到提交事务时才更新数据库记录。

⑦ setHint(String hintName, Object value)

设置与查询对象相关的特定供应商参数或提示信息。参数名及其取值需要参考特定 JPA 实现库提供商的文档。如果第二个参数无效将抛出IllegalArgumentException异常。

⑧ setParameter(int position, Object value)

为查询语句的指定位置参数赋值。Position 指定参数序号,value 为赋给参数的值。

⑨ setParameter(int position, Date d, TemporalType type)

为查询语句的指定位置参数赋 Date 值。

osition 指定参数序号,value 为赋给参数的值,temporalType 取 TemporalType 的枚举常量,包括 DATE、TIME 及 TIMESTAMP 三个。用于将 Java 的 Date 型值临时转换为数据库支持的日期时间类型(java.sql.Date、java.sql.Time及java.sql.Timestamp)。


⑩ setParameter(int position, Calendar c, TemporalType type)

为查询语句的指定位置参数赋 Calenda r值。position 指定参数序号,value 为赋给参数的值,temporalType 的含义及取舍同前。

(11) setParameter(String name, Object value)

为查询语句的指定名称参数赋值。

(12) setParameter(String name, Date d, TemporalType type)

为查询语句的指定名称参数赋 Date 值。TemporalType type用法同前。

(13) setParameter(String name, Calendar c, TemporalType type)

为查询语句的指定名称参数设置Calendar值。

name为参数名,其它同前。

该方法调用时如果参数位置或参数名不正确,或者所赋的参数值类型不匹配,将抛出 IllegalArgumentException 异常。



目录
相关文章
|
8月前
|
SQL Java 数据库连接
Hibernate - HQL对象检索详解
Hibernate - HQL对象检索详解
68 0
|
SQL Java 数据库连接
使用MyBatis时,无法绑定抽象方法与配置SQL语句的异常解决方法
使用MyBatis时,无法绑定抽象方法与配置SQL语句的异常解决方法
181 0
|
SQL Java 数据库
GreenDAO 3.2 源码分析(1):查询语句与Query实例的构造
greenDAO是一款优秀的对象关系映射(ORM)框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单、更方便。和复杂麻烦的Android原生数据库API相比较,greenDAO可谓是简单实用,功能强大,不仅性能突出,而且有着丰富文档资料,是当前最为活跃的Android ORM框架。
1129 0
|
SQL 缓存 Java
hibernate的hql 语法与详细解释
HQL查询 HQL查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此 Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更 加面向对象的封装。
1269 0