0
所以我尝试做一个搜索功能。我使用Hibernates创建标准来尝试完成它。我正在搜索2个值。如果其中一个值为null,那么它将抛出异常,如果不是,它将继续在表中显示关于该搜索的所有信息。Hibernate的创建标准
def search(params) {
def r = User.createCriteria()
if (params.searchUsername != 'Enter a Username' && params.searchMPI != 'Enter a User Number') {
def number = params.searchNumber
def username = params.searchUsername
r = User.createCriteria()
def userList = r.list(max: params.max, offset: params.usersOffset) {
and {
ilike('username', '%' + username + '%')
ilike('number', '%' + number + '%')
}
order(params.usersSort, params.usersOrder)
}
}
这是我迄今为止的搜索功能。它搜索用户名和用户号码。几乎没有什么必须是与用户号码关联的用户名。如果其中一个出现为空,那么它将需要对我说,告诉我一个是空的。我一直在看这里的createCriteria信息http://grails.org/doc/2.2.x/ref/Domain%20Classes/createCriteria.html。它作为一个NULL方法。看起来,这只是搜索值为null。有没有一种方法可以将其实施到我的搜索中?
if ((ilike('username', '%'+ username) || ilike('number', '%' + number)) == (isNull('username') || isNull('number')){
system.out.println("ONE OF THE VALUES IS NULL!")
我想认为这会像这样工作。 ^不过它没有
我很新的这一切。因此,有建设性的批评表示赞赏= d
对不起,我的意思是。 Hibernate有一个isNull()方法。这种方法看起来像我可以使用,但我认为它只是查找值为null。 (但我不知道如果我完全理解它)。这个搜索是否为一个填充表。 非常多。我需要做的是检查这个从数据库填充的表格。该表格需要通过用户名和用户号码进行搜索。有两个搜索框,人员搜索将不得不放在用户名和号码。如果由于某种原因,其中一个参数在数据库中显示为空,则需要大声说出。 – CoffeePeddlerIntern 2013-04-09 15:20:15
我认为你需要一个'或'条件,而不是'和'的标准 – DAJ 2013-04-12 21:45:55