唯美古典
          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 唯美古典 閱讀(1536) 評論(1)  編輯  收藏 所屬分類: Groovy

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

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


          網站導航:
           
          主站蜘蛛池模板: 娱乐| 车致| 临夏县| 安国市| 涟源市| 葵青区| 宁阳县| 平远县| 轮台县| 且末县| 美姑县| 利津县| 海安县| 仁布县| 马尔康县| 柳州市| 博兴县| 松江区| 军事| 林周县| 阜城县| 綦江县| 吴桥县| 襄樊市| 太白县| 丰台区| 鸡西市| 汶上县| 武宣县| 区。| 东台市| 新兴县| 始兴县| 惠来县| 老河口市| 宜宾县| 胶南市| 调兵山市| 门头沟区| 桃园县| 会理县|