使用Dojo和Grails快速实现数据的增删改查(CRUD)

选择 Grails 和 Dojo 的原因

随着 web 的广泛应用,web application 的开发项 目越来越多,而大部分的 web 开发归根结底都是对数据库的增删改查。对于一张数据库表的 增删改查,采用基于 MVC(模型 - 视图 - 控制器)设计模式的开发往往需要 Domain class 、 Controller、4 个增删改查的页面、form 输入数据的校验等。这样就免不了大量类似功 能的复制粘贴修改。 如果你想从重复劳动中解放出来,Grails 是一个很好的选择。 使用 Grails 只需要写一个 domain class 就可以自动生成 CRUD 4 个页面和对应的 controller 方法来实现对数据库的增删改查,并实现服务器端的数据校验,从而大大地提高了开发效率 。

类似的 web 快速开发框架还有 Rails、Django 和 TurboGears 等,与它们相比 Grails 有如下优势:

Grails 是一套用于快速 Web 应用开发的开源 框架,它是由 15% 的 Groovy 代码和 85% 的 Java 代码写成,并建立在千锤百炼的经典框 架(Spring,Hibernate,Sitemesh)之上,从而为大家带来一套能实现超高生产力的一站式 框架。

Grails 学习快速,使用容易,如果你熟悉 Hibernate、Spring、SiteMesh 和 JSP ,那么你一个小时之内就能学会 Grails。

Grails 运行于 JVM 之上,生成的 war 包可以 部署在各种成熟的服务器 Tomcat, JBoss,Weblogic,Webspere 等。

性能与 Rails2(100% Ruby) 相比要快很多。

Grails 被 SpringSource 收购,有强大的技术支持。

采用 Grails 的默认模板生成的 CRUD 页面有些简陋,实际项目中往往需要功能更加丰富,外观更 加漂亮,使用更加方便的控件。例如页面布局控件,Tab 控件,树,菜单,日历,编辑器, 进度条等等。现在有很多 JS 框架致力于 web UI, 例如 Dojo, Extjs, Jquery, YUI 等。我 们之所以选择 Dojo, 因为 Dojo 具有以下的优势:

   组件丰富,有强 大的 UI(Dijit)。这样一来就可以减轻我们的大量沉重的工作,而且目前的开发非常活跃 。

UI 外的功能也很强大,Full Stack 的框架,扩展了 DHTML 的能力,例如:

支持与 浏览器 Back/Forward 按钮的集成。

Dojo Offline,一个跨平台的离线存储 API。

Chart 组件,可以方便地在浏览器端生成图表。

基于 SVG/VML 的矢量图形库。

Google Maps、Yahoo! Maps 组件,方便开发 Mashup 应用。

Dojox Socket, 基于 WebSocket 或者 XHR 长连接的“服务器推”技术。

Dojo 是一个很好的基础架构,具有面 向对象的设计,统一的命名空间,包管理机制(The Package System and Custom Builds) 可扩展性。Dojo 其实是一个组件模型,类似于 Spring,用来支持大规模的组件化开发。组 件模型的作用就是增强代码的重用,这对于提高开发效率是至关重要的。

Dojo 的背后有 强大的支持 IBM、Oracle 等,这是非常重要的优势。Dojo 现在已经是众多开源框架的选择 ,包括:WebWork、Tapestry、Eclipse ATF、MyFaces。Dojo 的开发团队由 Alex Russell 领军,人数众多,力量非常强大。

开源,使用 BSD 软件许可。

快速搭建 CRUD 的 框架 (MVC)

开发环境配置

首先需要安装 JDK,并设置好 JAVA_HOME。本文使 用的是 JDK 1.6。

Grails 官方网站下载并解压 grails.zip。本文使用的是 Grails1.3.7。

创建一个 GRAILS_HOME 环境变量,将 $GRAILS_HOME/bin 添加到 PATH 中。

习惯用 IDE 的可以选择 Intellij idea,Netbeans 和 Spring STS。本文以免费的 Netbeans7.0.1 为例,配置很简单,只需要在 Tools->Options->Miscellaneous- >Groovy 下设置 Grails Home,就可以进行 Grails 项目的开发了。(见图 1)

图 1. Netbeans 中 Grails 的配置

时间: 2024-11-01 18:08:04

使用Dojo和Grails快速实现数据的增删改查(CRUD)的相关文章

如何在JTable中实现数据的增删改查,有示例说明最好

问题描述 各位大侠,有人能详细介绍下如何用JTable实现数据的增删改查吗,小弟急求.我要没搞定,明年的咋天就是我的祭日了,悲剧中. 解决方案 解决方案二:看以下DefaultTableModel的API解决方案三:没搞过swing解决方案四:引用楼主tianxiawuzei的回复: 各位大侠,有人能详细介绍下如何用JTable实现数据的增删改查吗,小弟急求.我要没搞定,明年的咋天就是我的祭日了,悲剧中. 鬼啊!!!!解决方案五:试试喔

sharepoint做数据的增删改查,统计

问题描述 用户之前自己用excel表在维护他们的数据,还用到了excel的宏:实现简单的数据增删改和查询统计:但因为想多人同时编辑,也希望更好用的一点:找到我希望基于工厂的sharepoint实现此功能:如果用vs.net之类+sqlserver,分分钟就轻松搞定:但由于某些原因,只能用sharepoint来做:我用sharepoint做过一些应用,比如文档库.工作流等等:但上述需求没做过,谁有好的建议吗:sharepoint能否实现的了这个需求:谢谢: 解决方案 解决方案二:建议尝试用Shar

Android中访问通讯录,数据的增删改查

1.权限 <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 2.通过提供的内容供应商访问通信录(uri) content://com.android.contacts/contacts 操作的数据是联系人信息Uri con

2.非关系型数据库(Nosql)之mongodb:mongodb显示所有数据库,使用数据库,集合创建(显示和隐式创建),集合查询,初步数据的增删改查,分页

 1代开一个cmd窗口,当作mongodb客户端,执行以下命令: mongo localhost:27017 2查看所有的数据库: > show dbs; admin (empty) local 0.078GB 3 db命令,查看当前窗口在那个数据库下面(test数据库没有任何数据,在内存里面): 4创建集合 A 显示创建 db.createCollection("collectionName"); > db.createCollection("c1"

Mybatis实现数据的增删改查(CRUD)

什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBatis 可以使用简单的XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. MyBatis下载:https://github.com/mybatis/mybatis-3/releases Mybat

【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建

数据库的创建和sql语句增删改查 1. 加载驱动. 2. 连接数据库. 3. 操作数据库.   创建表: create table person( _id integer primary key, name varchar(20), age integer );   添加: insert into person(name, age) values('lisi', 19);   删除: delete from person where _id = 1;   修改: update person se

谁有java+jsp动态表格数据的增删改的demo啊?

问题描述 谁有java+jsp动态表格数据的增删改的demo啊? 表格数据的行数是根据另一张表中的数据的条目决定的,也就是任务名称.每一个任务还有两个属性,员工名称和任务比例,一个任务可以分给多个员工,而一个员工对应一个比例. 解决方案 http://download.csdn.net/detail/dl_strugglingboy/6691683

initialization-在线等,求解决方案,这是后台对数据进行增删改的实现

问题描述 在线等,求解决方案,这是后台对数据进行增删改的实现 Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.th.supcom.emr.cpoe.business.basicmanager.pharmclinic.service.CpoeBasicPharmAndClinicService': C

简单用户登录和数据增删改查

问题描述 简单用户登录和数据增删改查 <%@page pageEncoding=""utf-8"" isELIgnored=""false""%><%@taglib uri=""http://java.sun.com/jsp/jstl/core"" prefix=""c""%><%@taglib uri="&