Work hard

[原创]Grails中使用GORM(一)

上一篇 / 下一篇  2008-05-11 23:41:17 / 个人分类:Groovy on Grails

查看( 27 ) / 评论( 0 )

`:Bgi]%u%L0Grails中的ORM操作可以使用自带的GORM,也可以选者Hibernate。本文介绍一下GORM的使用,它无需配置类似于Hibernate的Annotations,但是又比其更简洁,让我们来看一下它的强大之处吧。 海岸线网络聚合P:^%N!e\4}AH0b\;l
创建一个grails的应用:grails create-app GormDemo 海岸线网络聚合3r`6x} a:^3z
创建两个domain
pmGV`L0grails create-domain-class Member
mPT7L XO0grails create-domain-class Team
3^7i;t|U0
Iase%qP,^a@0修改Member.groovy: 海岸线网络聚合4HpG,P-Ph
class Member { 海岸线网络聚合2b*xl3bTG
    Team team 海岸线网络聚合g*nOn }h1ks
    String name 海岸线网络聚合[0J4_j4q
    static belongsTo = [Team]
TSIC.c+C%I-n0    static constraints = {
S'J(f1D&fG7Q$S0        name(size:2..20,blank:false,unique:true) 海岸线网络聚合 KQZ'X'W5w
    }
9K5G rb I o{0} 海岸线网络聚合ab%a Zc y
海岸线网络聚合8W/J'`2R D
修改Team.groovy
q KY/D*N8Nk2i0class Team {
-k.J` t S'h+IuZ0    String teamName
V6f-P p~0    Date foundDate 海岸线网络聚合:GJ s"who1Z ne
    static constraints = {
D m]8U3Ou"[\0        teamName(size:3..50,blank:false,unique:true) 海岸线网络聚合F c&d_.Vw8eZ7v
    } 海岸线网络聚合D'S(YN&[#B1CK-uC
    static hasMany = [members:Member]
D]0\TmBa0    String toString(){
UyT,Q VJ Z0        return teamName
8r$U#Pfe Efx0    } 海岸线网络聚合H [pUSM0G c2V\ m
} 海岸线网络聚合;eN?8f+K{5uL
我们看到Member.groovy 、Team.groovy中的belongs、hasMany分别表示多对一、一对多的关系,无需配置映射文件也无需使用注解,即可进行映射。 海岸线网络聚合/Z)PX N }5O\ {rm

K@2|2ZnC vk0然后让grails自己生成controller和views 海岸线网络聚合jx w1NsM
输入:
7z'b D$XI+m9YCP0grails generate-all Member
j)da1X.DV0grails generate-all Team
*qf:B.x}({J0
:P5e9g:F;G-` W6e}0启动该web工程:grails run-app 海岸线网络聚合U'z+\-Pt-z;VE
在浏览器下输入:http://localhost:8080/GormDemo
V4E:M;R8|/a`7r$B_*z0增加2个Team:Team1、Team2 海岸线网络聚合"oq$T!D*B.g5TT
增加3个Member:fengzhizi715、test、Test2
f7~6O1??&o@0其中fengzhizi715属于Team1,test、Test2属于Team2
M5\/?d!L$m(|2P0海岸线网络聚合 |C!E ^{

海岸线网络聚合RV EBg!cRv

mt/I&O"R [)]h@d_0

*m.L&v{ P+Z+Q/t0然后删除Team2,我们看到只剩下一个member,说明了Team和Member的一对多的关系。同时grails已经帮我们生成了外键,这些都无需我们自己去配置映射文件。 海岸线网络聚合Mo` H-E$U

0S"} N}"jC!e0

%Z+K ^'LD#YyQCn0

]4~8U0F]J0 海岸线网络聚合:r(} ZJRQ3O*Z@,Z1W

总之,Grails很好很强大!

a~ b4j:b#w [xx0

TAG: grails Grails GORM

我来说两句

(可选)

日历

« 2009-07-05  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 1285
  • 日志数: 23
  • 建立时间: 2007-05-21
  • 更新时间: 2008-05-18

RSS订阅

Open Toolbar