<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    1、    將環(huán)境部署在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 默認(rèn)要求提供三個數(shù)據(jù)庫,分別用于開發(fā)、測試和產(chǎn)品環(huán)境。修改連接的 Driver 名稱、用戶名密碼以及三個數(shù)據(jù)庫的URL,保存。接下來分別創(chuàng)建上述三個數(shù)據(jù)庫,并把 MySQL JDBC 驅(qū)動程序拷貝到 lib 文件夾中。

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

    2、    表單驗證

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

    class Team {

        String teamName

        Date foundDate

        static constraints = {

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

        }

    }

     

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

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

    3DB 相關(guān)操作

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


    2.DB 相關(guān)操作

    save

    保存 Domain 對象的數(shù)據(jù)到對應(yīng)的庫表中(可能是 Insert 也可能是 Update)

    findBy

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

    findAllBy

    findBy 類似,返回全部記錄

    executeQuery

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

    createCriteria

    執(zhí)行一個 Hibernate Criteria 查詢(下文會有一個 Criteria 的試?yán)?/span>

    get

    返回指定 id 的對象

    count

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

    delete

    執(zhí)行刪除操作。

     



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

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: www亚洲精品久久久乳| 一级黄色免费毛片| 免费看小12萝裸体视频国产| 日韩少妇内射免费播放| 亚洲AV人人澡人人爽人人夜夜| 亚洲免费网站观看视频| 日韩在线观看视频免费| 久久青青草原亚洲av无码app| 成人免费AA片在线观看| 久久久久女教师免费一区| 亚洲精品在线免费看| 亚洲av日韩片在线观看| 最好看最新的中文字幕免费 | 久久久久久亚洲精品成人| 成人免费视频88| 日韩免费高清播放器| 久久综合久久综合亚洲| 亚洲中文字幕无码不卡电影| 啦啦啦中文在线观看电视剧免费版 | 日韩一级在线播放免费观看| 久久国产精品免费一区| 国产.亚洲.欧洲在线| 亚洲成av人影院| 亚洲av手机在线观看| 精品熟女少妇AV免费观看| 9久久免费国产精品特黄| 亚洲精品色播一区二区| 亚洲国产日韩在线一区| 色噜噜亚洲精品中文字幕| 精品剧情v国产在免费线观看 | 无码囯产精品一区二区免费| 特级毛片A级毛片100免费播放| 亚洲成年人免费网站| 亚洲精品无码专区久久久| 国产又大又长又粗又硬的免费视频| 69免费视频大片| 国产在线播放线91免费| 青娱乐在线免费观看视频| 亚洲av永久无码精品天堂久久 | 成人亚洲国产va天堂| 亚洲精品无码久久久久久久|