[原创]Grails中使用GORM(一)
上一篇 / 下一篇 2008-05-11 23:41:17 / 个人分类:Groovy on Grails
Grails中的ORM操作可以使用自带的GORM,也可以选者Hibernate。本文介绍一下GORM的使用,它无需配置类似于Hibernate的Annotations,但是又比其更简洁,让我们来看一下它的强大之处吧。 海岸线网络聚合5k$K0HM_3Dmy
创建一个grails的应用:grails create-app GormDemo
}D+}"gKK(oB }0创建两个domain 海岸线网络聚合8t4b0hJ;p9j,h
grails create-domain-class Member 海岸线网络聚合
eFG'Lc%hO1vl+TR
grails create-domain-class Team 海岸线网络聚合gskvM1FE&`!m
)a1{'p+L*mk?5]B0修改Member.groovy:
9mW5D/m/\ o7Ea].H0rX0class Member {
*Q&B:V N-\+cB0 Team team
~]I(ro%hf8p6J8]0 String name 海岸线网络聚合a:oa0mau{
static belongsTo = [Team]
)r4SMa6\*r!e0 static constraints = { 海岸线网络聚合2s;Uj:Z;{h,qm{dMU
name(size:2..20,blank:false,unique:true)
3n'cJ^ Nqw-wG0 } 海岸线网络聚合m.|T7vxW
} 海岸线网络聚合:p:M'e8mA&D
海岸线网络聚合5|&HK*A!_tWpbL'P
修改Team.groovy
0y]'g7X#Yz(n0class Team { 海岸线网络聚合nc B/F"oTf
String teamName 海岸线网络聚合h5Xi\h!MJ)_
Date foundDate 海岸线网络聚合'zCS%~4[3rL0qj
static constraints = { 海岸线网络聚合&H0YKtm(JDw5W
teamName(size:3..50,blank:false,unique:true)
@n"_Jw:w[S_s0 } 海岸线网络聚合7{bO*?{du~
static hasMany = [members:Member]
E*\F _-p.SqF8r0 String toString(){ 海岸线网络聚合
@Xz,U0V-U
return teamName
u?MF.Yv)aB0 }
:U4V8X#}6p"w`lc X&ut^ w)B0} 海岸线网络聚合0d6W7hl+k0f
我们看到Member.groovy 、Team.groovy中的belongs、hasMany分别表示多对一、一对多的关系,无需配置映射文件也无需使用注解,即可进行映射。 海岸线网络聚合wf*RfN:m%D
海岸线网络聚合_0]%z ~[d;^
l?
f
然后让grails自己生成controller和views
g0P9k:@:j^9P0输入:
r.GAJ2t~[1D M0grails generate-all Member
8IE&S]/v5E0grails generate-all Team
-nk;{q#uc%t:K0海岸线网络聚合:|cIIedX
启动该web工程:grails run-app
x!~#IK,m$c0在浏览器下输入:http://localhost:8080/GormDemo 海岸线网络聚合AH%kb
r
增加2个Team:Team1、Team2 海岸线网络聚合NM3[BoA
增加3个Member:fengzhizi715、test、Test2
u4} Y:JnU0其中fengzhizi715属于Team1,test、Test2属于Team2 海岸线网络聚合y\
rKU)F!j