貓學Grails之完善編寫的第乙個程式和資料庫設定

2021-08-22 14:09:45 字數 1682 閱讀 2179

內容如下:

//預設的資料庫配置模板 

datasource

//hibernate快取配置

hibernate

// environment specific settings

environments

} //測試環境配置

test

} //生產環境配置

production

} }

很好改的。如果要把開發資料庫換成mysql只要把開發部分的資料庫配置改了就是了。這種配置格式,經常修改unix下各種軟體的配置的人應該很熟悉。

首先把mysql的資料庫驅動拷貝到lib目錄下,然後修改配置檔案的開發資料庫配置。

development  

}

和一般的資料庫連線池的設定沒什麼不一樣的。不過「dbcreate」要注意。它有三個值:「create」(如果資料庫不存在則建立)、「create-drop」(啟動的時候建立資料庫,結束的時候銷毀資料庫)、「update」(當資料庫表和程式不一致時,修改資料庫結構)。不過我不能在mysql資料庫上使用「create」和「create-drop」這兩個屬性。一用就出現異常。看來目前這兩個屬性只用於內嵌的hqldb。不過mysql倒不用建表,只要建立乙個空資料庫就可以了。系統在啟動的時候,會自動在資料庫裡建立表(不能建立資料庫)。如果大家使用其他的資料庫,可以試試看能否自動建庫。如果你不想grails對你的資料庫動手動腳,把這條去了就是了。

下面是對領域物件建立驗證和頁面的屬性顯示順序。如果驗證錯誤,是無法寫入資料庫的。

在race類中新增下面的**:

static constraints =)//不能輸入過去的時間。這是自定義驗證,返回布林值。it表示這個屬性。 

city(maxlength:30,blank:false)//最長30,不能為null

state(inlist:["beijing","tianjin","shanghai","chongqing"],blank:false)//只能輸入的值必須在四地中,不能為null。書上是美國的四個州。我用咱們直轄市代替了。不過目前還不能在這裡寫中文。頁面上能正確顯示,但是驗證過不去

maxrunners()

distance(min:3.1f,max:100f)//跑道長度。最小3.1最長100。(100英里,即160千公尺。快4個馬拉松了)

cost(min:0f,max:999.99f)//費用必須在0到999.99美元之間

}

constraints同時也決定了屬性出現在頁面上的順序。如果只是想規定某個屬性的位置但是沒有驗證,那麼直接放進去就可以了,比如maxrunners。注:這個順序是輸入頁面的順序。然後另乙個物件也加入驗證。

static constraints =

看記錄詳細資訊的時候,「registration : 1」之類的東西很難看吧。解決的方法就是重寫tostring()方法。

race 

string tostring():$:$"}

registration

string tostring():$"}

好了最初的架子就到此為止了。大家可以多試試。

編寫第乙個lua程式

今天從 拿到lua 5.1的原始碼後,先將其編譯為靜態庫lua.lib。我用vs 2008建立的工程 extern c lua直譯器指標 lua state l int main int argc,char argv 編譯該 後執行的結果為 panic unprotected error in ca...

編寫第乙個程式hello world

1.首先開啟qt creator,新建工程。2.選擇qt的widget專案,建立qt專案。3.繪製ui 直接雙擊選擇ui檔案,進行視覺化繪製ui,我們這裡拖動乙個標籤到主視窗。先不用改變其文字,我們將在程式裡改變其文字內容。4.編寫程式改變標籤內容 由於我們使用了qt designer,在qt中 u...

編寫第乙個Zuul程式

一 zuul的介紹 二 編寫第乙個zuul程式 建立服務專案 建立閘道器專案 三 建立服務專案 1 建立依賴 4.0.0 org.crazyit.cloud zuul first source 0.0.1 snapshot org.springframework.boot spring boot s...