admin 管理员组

文章数量: 1184232


2024年3月28日发(作者:c语言汇编是什么意思啊)

使用

Hibernate SQLQuery

执行原生

SQL

Hibernate

对原生

SQL

查询的支持和控制是通过

SQLQuery

接口实现的。通过

Session

接口,我们能够很方便

的创建一个

SQLQuery(SQLQuery

是一个接口,在

Hibernate4.2.2

之前, 默认返回的是

SQLQuery

的实现类——

SQLQueryImpl

对象,在下文中出现的

SQLQuery

如非注明, 都是指

该子类

)

对象来进行原生

SQL

查询:

SQLQuery(String sql);

SQLQuery

实现了

Query

接口,因此你可以使用

Query

接口 中提供的

API

来获取数据。

最简单的示例

//

获取所有查询结果

SQLQuery("select * from note").list();

//

仅获取第一条结果

SQLQuery("select * from note where id =

1").uniqueResult();

使用预处理

SQL

预处理

SQL

的好处自然不必多说, 除了众所周知的能够防止

SQL

注入

攻击外,还能够在一定程度上提高

SQL

的查询效 率。

SQLQuery

提供

了众多的接口来分别设置不同类型的参 数,诸如

setBigDecimal

setBinary

setDouble

等,详参

SQLQuery

JavaDoc

,此处不再赘

述。这里仅重点说一下通 用的

SQL

参数设置接口

setParameter

如下代码示范了如何使用

SQLQuery

执行预处理

SQL

SQLQuery query = SQLQuery("select * from note

where id = ?");

//

设置第一个参数的值为

12,

即查询

ID=12

note

ameter(0, 12);

List list = ();

这里需要注明一点, 无论是通过不同类型参数的设置接口来设置

SQL

数,还是 通过

setParameter

来设置参数,下标都是从

0

开始的,而不

是从

1

开始的


本文标签: 设置 接口 参数 能够 对象