0

所以我是数据库新手,我正在努力学习。我有一个我熟悉的 DB2 数据库。我被分配了一个任务,我需要编写一个在数据库上进行搜索的方法。搜索将采用两个参数,用户名和用户 ID 号。如果用户和用户 ID 号不匹配,或者如果其中一个或另一个结果为空,则需要抛出错误。如果它有效,那么它将继续吐出有关用户的信息。

有人告诉我使用 findall() 函数或类似的函数。我在网上看,我发现的是处理喜欢或喜欢的例子,我不确定这样的事情在我的情况下如何工作。我将如何开始做这件事的一个体面的例子是什么?

任何帮助表示赞赏。如果我取得任何进展,我会回复。

注意:我使用的是 groovy/grails。域,控制器,查看设置。

4

1 回答 1

0

这是学校的一些家庭作业吗?

findall() 通常是正则表达式中的一种方法,我认为在这里不相关。如果你有一个 SQL 数据库,这意味着你有一个使用 SQL 作为查询语言的 RDBMS。您需要了解 SELECT 命令,当您第一次查看手册时可能会令人望而生畏,但对于您的情况而言,它实际上很简单。你需要类似的东西:

SELECT userfield1, userfield2,..
FROM   myusertable
WHERE  myusertable.username = 'uname' AND myusertable.userid = userid

uname 和 userid 是您的搜索参数。请注意,出于安全原因,此 SQL 查询应使用 PREPARED 语句完成。

当您使用您的数据库库运行此查询时,您将返回一组您必须分析的结果。如果为空,则未找到用户。

编辑:更新考虑到休眠的使用

Hibernate 使用 HQL,它类似于 SQL,并且确实有一个 findAll 方法。请参阅http://grails.org/doc/latest/ref/Domain%20Classes/findAll.html

于 2013-04-04T15:58:57.797 回答