`
bhw1015
  • 浏览: 89780 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

HQL语句的动态赋值

阅读更多

HQL语句的动态赋值

在JDBC编程中,PreparedStatement对象为开发提供了方便,它不但可为SQL语句进行动态赋值,而且可以避免SQL的注入式攻击;此外,由于它使用了SQL的缓存技术,还可以提高SQL语句的执行效率。在HQL查询语言中,也提供了类似的方法,其实现方式主要有两种。

"?"号代表参数

此种方式与PreparedStatement极其相似,通过Query对象的setParameter()方法进行赋值,在HQL语句中以"?"号代表参数。如查询id为3的User对象,可以使用以下方法。

  1. //HQL语句  
  2. String hql = "from User u where u.id = ?";    
  3. //创建Query对象  
  4. Query query = session.createQuery(hql);  
  5. //HQL参数赋值  
  6. query = query.setParameter(03);  
  7. //获取查询结果集  
  8. list = query.list(); 

自定义参数名称

此种方式也通过Query对象的setParameter()方法进行赋值,但HQL语句中的参数可以自定义,它通过":"号与自定义参数名组合的方法实现。如查询id为3的User对象,可以使用以下方法。

  1. //HQL语句  
  2. String hql = "from User u where u.id = :userId";  
  3. //创建Query对象  
  4. Query query = session.createQuery(hql);  
  5. //HQL参数赋值  
  6. query = query.setParameter("userId"3);  
  7. //获取查询结果集  
  8. list = query.list(); 
分享到:
评论

相关推荐

    hql语句大全

    以下是对标题和描述中所提到的HQL语句的详细说明: 1. 实体查询: HQL的基本查询形式是`from 类名`,这将返回该类的所有实例,包括其子类。例如,`from TUser`将获取所有TUser对象。如果TUser类有外键,不指定特定...

    HQL查询及语法

    4. **设置参数**:如果HQL语句中包含参数,需调用Query对象的`setXxx`方法为其赋值。 5. **执行查询并处理结果**:最后,通过调用Query对象的`list`等方法,获取查询结果并进行后续处理。 #### 三、HQL语法示例...

    强烈建议的HQL语法规则详解

    3. **创建Query对象**:将HQL语句传递给`Session`的`createQuery`方法,返回一个`Query`实例,该实例代表了你的查询。 4. **设置参数**:如果HQL中包含参数,如上面的例子中的`:eventTitle`,可以通过`Query`对象的`...

    HQL语法大全,并带有详细的例子

    4. **设置参数**:如果HQL语句中含有参数,则需要通过Query对象的`setXxx`方法为这些参数赋值。 5. **执行查询并遍历结果**:最后调用Query对象的`list`方法或其他相关方法来执行查询并遍历查询结果。 #### 三、HQL...

    hibernate所用到HQL经典语句大全

    ### HQL经典语句大全详解 #### 一、HQL简介及基本语法 HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者使用类及其属性来编写查询语句,而不是传统的SQL语句。这使得开发人员可以更加专注...

    HQL语法入门学习HQL语法入门学习

    4. **设置参数**: 如果HQL中有参数,可以通过`setXxx`方法(如`setString`, `setDate`等)为参数赋值。 5. **执行查询**: 调用Query对象的`list`方法执行查询,获取查询结果列表。 6. **遍历结果**: 使用迭代器...

    HQL的具体内容和使用

    Hibernate Query Language(HQL)是Hibernate框架中专用于对象关系映射(ORM)的查询语言,它使得开发者能够以面向对象的方式来查询数据库,而无需直接编写SQL语句。HQL支持多种查询方式,包括对象查询、属性查询、...

    hql查询语言语法

    4. **设置参数**:如果HQL语句中有参数,则需通过`setQuery`方法为其赋值。 5. **执行查询并处理结果**:调用`Query`对象的`list`方法获取结果列表,并对结果进行处理。 #### 三、HQL查询示例分析 根据给定的部分...

    hibernate3.2.5

    1. 基本语法:HQL更新查询的语法结构类似于SQL的UPDATE语句,但以"UPDATE"关键字开头,后跟要更新的对象名,然后是SET关键字,接着是属性名和赋值,最后是WHERE子句来指定更新条件。例如: ```java Query query = ...

    Hibernate查询详解

    4. **设置参数**:若HQL语句包含参数,使用`setXXX()`方法为其赋值。 5. **执行查询**:调用Query对象的`list()`或其他方法,遍历并处理查询结果。 ### Query的高级功能 - `setFirstResult(int firstResult)`:...

    Hibernate技术详解

    4. **设置参数**:如果HQL语句中有参数,则需通过`setXXX`方法为这些参数赋值。 5. **执行查询并获取结果**:调用Query对象的`list`方法执行查询并获取结果集。 #### 三、HQL示例解析 下面通过具体的示例来进一步...

    ajax动态查询数据库数据并显示在前台的方法

    Dao层使用HQL语句"select count(*) from Person"来查询Person表中的总用户数。 前台页面使用Ajax技术通过jQuery的$.ajax方法发送异步请求到后端的Controller。在$.ajax方法中配置了请求类型、URL、数据传输方式以及...

    Hibernate插件教程

    - 提供了 `Hibernate Dynamic SQL Preview` 视图,用于实时查看 HQL 查询语句对应的 SQL 语句。 - `Query Parameters` 视图允许用户为 HQL 中的参数赋值,如 `:uuid`。 - `Hibernate Query Result` 视图显示执行 ...

    hibernate懒加载策略.doc

    如果目标对象(即真实的User对象)尚未加载,Hibernate会执行SQL查询,从数据库中获取所需数据,然后创建目标对象并将其赋值给代理对象的内部引用。 2. **实体对象的延迟加载** - 如果实体间的关联关系配置为懒...

    hibernate源码分析过程

    HQL 可以使用面向对象的方式来查询对象,可以使用 from、where、order by 等语句。 Criteria Queries Criteria Queries 是 Hibernate 的一种查询方式,可以使用面向对象的方式来查询对象。Criteria Queries 可以...

    hibernate原理小程序(反射)

    3. HQL查询:Hibernate的Query或Criteria API在执行HQL或Criteria查询时,也会运用反射。它们将查询结果集转换为指定类型的Java对象,这一过程涉及到类的实例化和字段的赋值,均离不开反射。 4. 自动加载和代理:...

    参考文档

    1. **基础语法**:包括变量声明、数据类型(如字符串、数字、布尔值、null、undefined)、操作符(算术、比较、逻辑、赋值等)以及流程控制(条件语句、循环语句)。 2. **函数**:了解如何定义和调用函数,以及...

    jdbc基础和参考

    赋值的过程中要求数据类型一定要匹配,这样在某种程度上可以避免因为数据类型不匹配而发生的异常 CallableStatement:主要用来执行pl/sql的一些过程,函数等。 1.写一条恒成立的select语句,无论你输入的条件是...

    Java语言基础下载

    变量声明和赋值 52 引用(Reference)类型 52 存储器分配和布局 53 this引用 55 Java编码约定 56 运算符的优先级 58 升级和表达式的类型转换 62 独立实践 70 第五章:数组 71 学习目标 71 数组的描述 72 创建数组 72...

    Java工程师面试题

    - 熟悉各种运算符(算术、比较、逻辑、位、赋值)。 - 条件语句(if, if-else, switch-case)与循环(for, while, do-while)的使用。 - break和continue语句的使用场景。 4. **数组与集合**: - 数组的创建、...

Global site tag (gtag.js) - Google Analytics