仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1802|回复: 18
打印 上一主题 下一主题

[学习教程] 来看Grails+EJB Domain Models

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:33:58 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流.
RubyonRail只管不休吸引软件工程范畴的注重,但企业级的开辟室仍旧对其很不信托.为何?“基于剧本言语的框架岂非也能切合企业级使用么?!”关于RoR,最次要的论据就是他们缺少企业级服务(比方散布式事件,动静等)。对良多营业来讲,没有这些服务的平台是基本不予思索的。Grail就是一个疾速的企业级疾速使用开辟工具。它基于Groovy言语,能够无缝的集成Java的服务,同时也供应了剧本言语的伟大便当。
为了显现它的企业集成才能,Grails能够疾速便利的构建一个web使用程序,后端利用EJB3实体beans。可是,不单单云云,Grails让你能够对实体bean完成静态把持,而不必要你修正EJB的源代码。GrailsObjectRelationalMapping(GORM)是基于Hibernate3的(终极也会撑持JavaPersistenceAPI),而且利用GroovysMetaObjectProtocol(MOP)来增加各类手工静态办法给实践上静态的实体bean。这些办法不但能够给Grails和Groovy挪用;Java代码也能够挪用。如许我们就同时具有了JEE/EJB3的企业级才能和RADweb使用开辟的便当。
Rails的代码天生就不必说了,RoR做到的,它都能做到,上面看看他的扩大代码
importcom.jasonrudolph.ejb3example.entity.EmployeeBean
增加一个web事务
和RoR比拟,Grail对对象联系关系的处置非常天真
defshowComputersByEmployee={
render(view:list,model:[computerBeanList:
ComputerBean.findAllByEmployeeBean(EmployeeBean.get(params.id))])
}
保留web提交
defupdate={
defcomputerBean=ComputerBean.get(params.id)
if(computerBean){
if(computerBean.employeeBean){
computerBean.employeeBean.computers.remove(computerBean)
}
computerBean.properties=params
defemployeeBean=EmployeeBean.get(params.employeeId)
employeeBean.computers.add(computerBean)
computerBean.employeeBean=employeeBean
if(computerBean.save()){
redirect(action:show,id:computerBean.id)
}
else{
render(view:edit,model:[computerBean:computerBean])
}
}
else{
Flash.message="ComputerBeannotfoundwithid${params.id}"
redirect(action:edit,id:params.id)
}
}
考证划定规矩
这是Grails的另外一个特征
constraints={
networkId(length:6..8,blank:false,unique:true)
firstName(maxLength:20,blank:false)
lastName(maxLength:20,blank:false)
startDate(nullable:false)
}
查谋事件
defshowSearchResults={
render(view:list,model:[employeeBeanList:
EmployeeBean.findAllByLastNameLike("%"+params.lastName+"%")])
}
初级查找
defshowSearchResults={
defcriteria=EmployeeBean.createCriteria()
defresults=criteria{
or{
ilike("networkId","%"+params.networkId+"%")
and{
eq("firstName",params.firstName)
eq("lastName",params.lastName)
}
}
}
render(view:list,model:[employeeBeanList:results.adaptee])
}

用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 13:48

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表