唯美古典
          Java入門,Struts,Hibernate,Spring,Groovy,Grails
          posts - 7,comments - 10,trackbacks - 0

          1、    將環境部署在MySQL

          首先修改 grails-app\conf\DataSource.groovy

          dataSource {

                  pooled = true

                  driverClassName = "com.mysql.jdbc.Driver"

                  username = "root"

                  password = "122547"

          }

          hibernate {

              cache.use_second_level_cache=true

              cache.use_query_cache=true

              cache.provider_class='org.hibernate.cache.EhCacheProvider'

          }

          // environment specific settings

          environments {

                  development {

                         dataSource {

                                 dbCreate = "update" // one of 'create', 'create-drop','update'

                                 url = "jdbc:mysql://localhost:3306/team_dev"

                         }

                  }

                  test {

                         dataSource {

                                 dbCreate = "update"

                                 url = "jdbc:mysql://localhost:3306/team_test"

                         }

                  }

                  production {

                         dataSource {

                                 dbCreate = "update"

                                 url = "jdbc:mysql://localhost:3306/team_prod"

                         }

                  }

          }

          Grails 默認要求提供三個數據庫,分別用于開發、測試和產品環境。修改連接的 Driver 名稱、用戶名密碼以及三個數據庫的URL,保存。接下來分別創建上述三個數據庫,并把 MySQL JDBC 驅動程序拷貝到 lib 文件夾中。

          接下來,重新運行項目(grails run-app),Grails 會自動為 Domain Class 創建相應的數據庫表。至此,Team CRUD 程序就運行在 MySQL 之上了。

          2、    表單驗證

          Grails 對表單的驗證提供了強大的支持,可以使用 Domain Class 的驗證來實現表單的驗證。修改 Team.groovy 文件:

          class Team {

              String teamName

              Date foundDate

              static constraints = {

                  teamName(size:3..50,blank:false,unique:true)

              }

          }

           

          Team 類中加入個名叫 constraints 的靜態 Closure,并在其中描述驗證邏輯:team 的字符串長度在 3~50 之間、不能為空、而且是唯一的。(注意早期版本的 Grails 使用 length 限定字符串的長度,在 V0.5 以后改為了 size 保存 Team.groovy,重新運行 Contact,會發現驗證邏輯已經可以工作了

          Constraints內屬性排列順序和頁面顯示排序順序一致,如果是textarea,可以設置屬性的maxSize大于255

          3DB 相關操作

          上面所講的內容涵蓋了 Web 開發的幾個基本方面,理論上講,掌握了這幾個基本內容就可以進行 Web 開發了,但是 Grails 還提供了一些可以極大提高開發效率的內容,比如 DB 讀寫。DB 的讀寫雖然不屬于 Web 范疇,但無可爭議的是,幾乎沒有 Web 應用是不使用 DB 的。下面對 Grails 簡化的 Hibernate 操作進行一下簡單介紹:


          2.DB 相關操作

          save

          保存 Domain 對象的數據到對應的庫表中(可能是 Insert 也可能是 Update)

          findBy

          動態方法,查找并返回第一條記錄,方法名可以變化
          如:findByName("Tom") 會返回所有 name 屬性為 Tom 的對象(只返回第一條記錄)findByNameAndPassword("Tom","Mot")會返回所有 name 屬性為”Tom”并且 password 屬性為”Mot”的對象

          findAllBy

          findBy 類似,返回全部記錄

          executeQuery

          執行一個 HQL 的查詢(HQL 的使用,請參考 Hibernate 官方文檔)

          createCriteria

          執行一個 Hibernate Criteria 查詢(下文會有一個 Criteria 的試例)

          get

          返回指定 id 的對象

          count

          執行”select count(*) from XX”的操作

          delete

          執行刪除操作。

           



          唯美古典的工作室
          posted on 2009-12-05 18:43 唯美古典 閱讀(1535) 評論(1)  編輯  收藏 所屬分類: Groovy

          FeedBack:
          # re: Grails學習手記
          2009-12-06 00:56 | mate tee
          圣杯的研究提供了組織保證,簡潔的答案,以他們最重要的業務問題,他們期待。  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 马尔康县| 德阳市| 阳城县| 商丘市| 靖江市| 高要市| 陵水| 日喀则市| 琼结县| 渝中区| 特克斯县| 蒲城县| 龙门县| 天长市| 永城市| 卢龙县| 五莲县| 汝城县| 子洲县| 宁化县| 宝山区| 焦作市| 博湖县| 恩平市| 韩城市| 贡山| 偏关县| 郓城县| 湖南省| 礼泉县| 那曲县| 阿克陶县| 庄浪县| 中牟县| 大姚县| 两当县| 龙门县| 萝北县| 南陵县| 育儿| 海原县|