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