Work hard

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

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

查看( 16 ) / 评论( 0 )
海岸线网络聚合YVo%f&Z O1W

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:o a0ma u{
    static belongsTo = [Team]
)r4S Ma6\*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 海岸线网络聚合h5X i\h!MJ)_
    Date foundDate 海岸线网络聚合'zCS%~4[3rL0q j
    static constraints = { 海岸线网络聚合&H0YKtm(JDw5W
        teamName(size:3..50,blank:false,unique:true)
@ n"_J w: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分别表示多对一、一对多的关系,无需配置映射文件也无需使用注解,即可进行映射。 海岸线网络聚合 w f*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#u c%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

![4k5j dTmP4oj2F0

T DQ}u6L6nNCAR0海岸线网络聚合D7vGrU7@YcgU

p/L jB3GDGND0然后删除Team2,我们看到只剩下一个member,说明了Team和Member的一对多的关系。同时grails已经帮我们生成了外键,这些都无需我们自己去配置映射文件。 海岸线网络聚合r]p5D8l5{/M:V

"x$^*H'I7O1o2N0 海岸线网络聚合8[4b/L\$Z v:]!hvk

海岸线网络聚合hG/ia j O l

海岸线网络聚合VO-_tV%tn

总之,Grails很好很强大!海岸线网络聚合6As*A,Eo#^


TAG: grails Grails GORM

我来说两句

(可选)

日历

« 2008-11-21  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

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

RSS订阅

Open Toolbar