Grails 領域類用法解析

2022-09-23 20:00:10 字數 2290 閱讀 4454

1.addto*

為領域類新增一對多或多對多的關係。

def fictbook = new book(title:"it")

def nonfictbook = new book(title:"on writing: a memoir of the craft")

def a = new author(name:"stephen king")

.addtofiction(fictbook) // 'fiction' is name of relationship property

.addtononfiction(nonfictbook) // 'nonfiction' is name of relationship property

.s**e()2.constraints

定義驗證的約束。

class book

}3.count

統計資料庫中領域類例項的個數。

def noofbooks = book.count()4.countby*

使用領域類的屬性進行統計

class book def c = book.countbytitle("the shining")

c = book.countbytitleandauthor("the sum of all fears", "tom clancy")

c = book.countbyreleasedatebetween(firstdate, new date())

c = book.countbyreleasedategreaterthanequals(firstdate)

c = book.countbytitlelike("%hobbit%")

c = book.countbytitlenotequal("harry potter")

c = book.countbyreleasedateisnull()

c = book.countbyreleasedateisnotnull()5.createcriteria

建立乙個grails的hibernatecriteriabuilder,用於建立條件查詢。

def c = account.createcriteria()

def results = c.list

maxresults(10)

order("holderlastname", "desc")

}6.delete

7.errors

spring errors介面的例項,可能包含資料繫結或驗證的錯誤。

def user = new user(params)

if(user.validate())

else

}8.discard

通知一次變更不進行持久化,等同於使用hibernate的evict方法。只是為了防止grails的自動持久化。

def b = book.get(1)

b.title = "blah"

b.discard() // changes won't be applied now9.executequery

10.executeupdate

11.exists

12.find

如果沒有找到返回null。

// dan brown's first book

book.find("from book as b where b.author='dan brown'")

// with a positional parameter

book.find("from book as b where b.author=?",['dan brown'])

// with a named parameter (since 0.5)

book.find("from book as b where b.author=:author",[author:'dan brown'])

// query by example

def b = new book(author:"dan brown")

book.find(b)13.findall

14.findallby*

15.findwhere

16.get

根據id獲取領域類例項,找不到返回null

17.getall

根據id集獲取領域類例項。

18.haserrors

如果在合法性驗證、儲存或資料繫結時發生錯誤返回true。

19.ident

20.list

21.listorderby

22.lock

Python中counter類的用法解析

最近在讀 的時候看到這個類,所以來學習記錄一下 stay hungry,stay young counter類是dict類的子類,要呼叫它,需要使用以下語句 from collection import counter可以把它看成乙個特殊的字典,方便了我們的計數操作,key是要計數的關鍵字,valu...

srand time NULL 用法解析

在一些產品的源 中,經常會發現有這樣的語句,srand unsigned time null 為什麼要這樣做呢,其實很簡單。1.time 函式表示返回1970 1 1 00 00 00 到當前時間的秒數,而time null 表示獲取乙個時間,準確的說,獲取乙個指標的位址。2.srand 函式是產生...

Objective C define 用法解析

在 c 語言中,預處理 preprocessor 是非常強大的工具,能讓你的 變得更加易讀和易改。利用預處理 你可以重新定義 的一部分,使得你的 更適合你的風格。預處理 preprocessor 在 編譯之前被提前處理。預處理 均由乙個井號 打頭。define宣告主要用於將常量 或字串 賦予有意義的...