- 浏览: 113351 次
- 性别:
- 来自: 济南
最新评论
-
anttu:
groovy -
MeltingSnower:
基于ext的?
grails +zkoss -
mymelon:
代码能不能放出来看看啊。
grails +zkoss -
dellsoft:
用的csc365kl 写道请问你的控制层是怎么处理的 是用的g ...
grails +zkoss -
csc365kl:
请问你的控制层是怎么处理的 是用的grails的 还是 zk的 ...
grails +zkoss
使用hibernate 的自定义主键
import org.hibernate.SessionFactory
class PersonController {
SessionFactory sessionFactory
def index = { redirect(action:list,params:params) }
// the delete, save and update actions only accept POST requests
static allowedMethods = [delete:'POST', save:'POST', update:'POST']
def list = {
params.max = Math.min( params.max ? params.max.toInteger() : 10, 100)
[ personInstanceList: Person.list( params ), personInstanceTotal: Person.count() ]
}
def show = {
def personInstance = Person.findById( params.id.toString() )
if(!personInstance) {
flash.message = "Person not found with id ${params.id}"
redirect(action:list)
}
else { return [ personInstance : personInstance ] }
}
def delete = {
def personInstance = Person.get( params.id )
if(personInstance) {
try {
personInstance.delete()
flash.message = "Person ${params.id} deleted"
redirect(action:list)
}
catch(org.springframework.dao.DataIntegrityViolationException e) {
flash.message = "Person ${params.id} could not be deleted"
redirect(action:show,id:params.id)
}
}
else {
flash.message = "Person not found with id ${params.id}"
redirect(action:list)
}
}
def edit = {
def personInstance = Person.get( params.id )
if(!personInstance) {
flash.message = "Person not found with id ${params.id}"
redirect(action:list)
}
else {
return [ personInstance : personInstance ]
}
}
def update = {
def personInstance = Person.get( params.id )
if(personInstance) {
if(params.version) {
def version = params.version.toLong()
if(personInstance.version > version) {
personInstance.errors.rejectValue("version", "person.optimistic.locking.failure", "Another user has updated this Person while you were editing.")
render(view:'edit',model:[personInstance:personInstance])
return
}
}
personInstance.properties = params
if(!personInstance.hasErrors() && personInstance.save()) {
flash.message = "Person ${params.id} updated"
redirect(action:show,id:personInstance.id)
}
else {
render(view:'edit',model:[personInstance:personInstance])
}
}
else {
flash.message = "Person not found with id ${params.id}"
redirect(action:edit,id:params.id)
}
}
def create = {
def personInstance = new Person()
personInstance.properties = params
return ['personInstance':personInstance]
}
def save = {
def session = sessionFactory.getCurrentSession()
def tx = session.beginTransaction()
def personInstance = new Person(params)
Psnbbm psnbbm = Psnbbm.findBySPrefix("CKNM")
Long curId = psnbbm.curValue
int nmLength = psnbbm.nmLength
personInstance.id = (curId+1).toString().padLeft(9,"0")
if(!personInstance.hasErrors() && personInstance.save()) {
psnbbm.curValue = curId+1
psnbbm.save()
tx.commit()
flash.message = "Person ${personInstance.id} created"
redirect(action:show,id:personInstance.id)
}
else {
tx.rollback()
render(view:'create',model:[personInstance:personInstance])
}
}
}
def session = sessionFactory.getCurrentSession()
def tx = session.beginTransaction()
def personInstance = new Person(params)
Psnbbm psnbbm = Psnbbm.findBySPrefix("CKNM")
Long curId = psnbbm.curValue
int nmLength = psnbbm.nmLength
personInstance.id = (curId+1).toString().padLeft(9,"0")
if(!personInstance.hasErrors() && personInstance.save()) {
psnbbm.curValue = curId+1
psnbbm.save()
tx.commit()
flash.message = "Person ${personInstance.id} created"
redirect(action:show,id:personInstance.id)
}
自定义的编码表
class Psnbbm { String sPrefix Long curValue int nmLength String description static constraints = { } }
class Person { String id String foo static mapping = { id column: "id", generator: "assigned" version false } def beforeInsert = { } }
方式二、
class Pwcity implements Serializable{ String id String fchs String feng String fzip String faircode String ftype Long forder = 0 String fctry Date dateCreated Date lastUpdated static constraints = { // fid(nullable:false,uinque:true,size:0..10) fchs(nullable:false,size:0..20) feng(nullable:false,size:0..40) fzip(nullable:false,size:0..10) faircode(nullable:false,size:0..10) ftype(nullable:false,size:0..8) fctry(nullable:false,size:0..20) } static mapping = { autoTimestamp false table 'PWCITY' version false // id composite :['fid'] id column: 'CITY_ID' ,sqlType:'varchar(10)',generator:'assigned',unique:'true' fchs column: 'CITY_ZHS' feng column: 'CITY_ENG' fzip column: 'CITY_ZIP' faircode column: 'CITY_AIRCODE' ftype column: 'CITY_TYPE' forder column: 'CITY_ORDER' fctry column: 'CITY_CTRY' dateCreated column: 'YGZD_CRTIME' lastUpdated column: 'YGZD_UPTIME' } public void setId(String s) { id = s.padLeft(10,"0") } public String getId() { return id } def beforeInsert() { dateCreated = new Date() lastUpdated = new Date() } def beforeUpdate() { lastUpdated = new Date() } }
发表评论
-
Rescheduling a Quartz job programatically
2012-02-14 11:34 0In our current project we fa ... -
1.4M
2011-06-23 20:44 8531.4 版本后,如果用代理上网,需要设置代理,才能让grail ... -
groovy Ip地址表达式
2011-04-28 18:55 1612 -
change the default locale
2011-04-13 19:37 986... -
groovy
2010-08-09 14:40 1207def urls = ["ip1" ... -
grails + jquery grid plugin
2010-03-14 09:52 1553Jquery Grid Json 格式方法 http ... -
grails +zkoss 开发总结
2010-03-14 09:42 1565zk component develop 一、)jav ... -
grails 开发总结
2010-03-14 09:40 1624在使用grails 开发的过程,一些总结,随笔 ... -
grails +zkoss
2010-01-09 16:58 1311基于grails+zkoss应用 1)登录窗口 2)主 ... -
grails 跟踪 sql
2009-05-14 15:53 1052http://www.piragua.com/2009/06/ ... -
grails 原始sql
2009-05-09 22:13 1259import groovy.sql.Sql; c ... -
hibernate custom generator
2009-05-09 20:54 1067public class CustomIdSequenceGe ... -
grails 1.1 Gorm 部分新特性提前知道
2008-10-30 17:21 1855说明:grails 1.1部分新特性,我只是看 grails ... -
grailsflow
2008-10-30 16:43 2452grailsflow 具体地址 http:/ ... -
grails 根据数据库自动生产 domains
2008-07-04 17:25 2963GenerateDataabase.groovy impo ... -
grails 导出 excel
2008-07-04 17:21 6547用 poi 来导出 excel 文件 import or ... -
grails war 包定制
2008-07-04 17:18 1499在config.groovy 下面配置 grails.war ... -
grails datasource 中配置数据源用户名称和密码 加密
2008-07-04 17:16 2462在datasource.groovy password = Y ... -
grails 自定义 validator
2008-07-04 17:05 1159http://www.zorched.net/2008/01/ ... -
grails services transaction
2008-07-02 15:26 1644在 graisl 应用中,默认情况下,services 的事务 ...
相关推荐
《The Definitive Guide to Grails 2》是Grails框架深入学习的重要参考资料,由业界专家撰写,旨在为开发者提供全面、详尽的Grails 2技术指导。这本书结合了理论与实践,不仅介绍了Grails的基本概念,还涵盖了高级...
《Grails 2 的终极指南》是一本深入探讨Grails框架精髓的专业书籍,该书以英文撰写,旨在为读者提供全面、深入的Grails框架学习资料。Grails框架基于Groovy语言,是一种高度动态、敏捷的Java应用开发框架,它简化了...
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...
《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...
【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...
《Grails用户手册》 Grails,作为一个基于Groovy语言的开源Web应用框架,深受开发者喜爱,它简化了Java开发的复杂性,提供了强大的MVC(Model-View-Controller)架构,以及丰富的插件系统。这份用户手册将帮助你...
对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...
**Grails CometD:最佳Web推送技术** 在现代Web开发中,实时通信是不可或缺的一部分,它使得用户可以即时获取服务器端的数据更新,无需频繁刷新页面。Grails CometD框架就是为了实现这种实时交互而设计的。本文将...
Grails是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...
grails参考文档 The Grails Framework - Reference Documentation Authors: Graeme Rocher, Marc Palmer Version: 1.0.3
《Grails 中文参考手册》是一本全面介绍Grails框架的指南,旨在帮助开发者快速上手并深入理解Grails的各个核心概念和技术。Grails是一个基于Groovy语言的开源Web应用框架,它提供了高效的开发环境和强大的功能,使得...
### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...
《Grails 2.4.4 框架深度解析》 Grails 2.4.4 是一个基于Java的开源Web应用框架,它利用Groovy语言的强大特性,为开发者提供了一种高效、灵活的开发环境。这个压缩包“grails-2.4.4.zip”包含了完整的Grails 2.4.4...
**Grails 概述** Grails 是一个基于 Groovy 语言的开源 web 应用程序框架,它构建在 Java 平台上,旨在提高开发效率,简化常见 Web 开发任务。Grails 遵循 Model-View-Controller (MVC) 架构模式,允许开发者快速...
Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...
### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...
**Grails登录系统详解** Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户...