1.创建项目:create-app ToysStore
2.切换到项目目录:cd ToysStore
3.创建领域类:create-domain-class toy
4.到domain目录下面找到Toy.groovy文件,修改为下面内容:
class Toy {
 int id
 String toyName
 String unitPrice
}5.创建控制器:create-controller toy
6.到controller目录下面找到ToyController.groovy文件,修改为下面内容:
class ToyController {
    //动态运行时产生相应工件
    def scaffold = Toy
}7.run-app
8.打开IE/FireFox,浏览:http://localhost:8080/ToysStore就可以测试结果了!!!
9.静态产生工件:
generate-controller:产生控制器
generate-views:产生视图
generate-all:产生控制器与视图
这里使用:generate-all toy执行后在views中产生了toy目录,toy下面产生了create.gsp/edit.gsp/list.gsp/show.gsp文件
为什么没有delete.gsp?实际上是因为删除不需要用户输入相应数据,所以不需要提供表单接受输入。10.run-app
一样的可以完成CRUD的测试!11.给领域类加入约束:
class Toy {
 int id
 String toyName
 String unitPrice
 
 static constraints={
  unitPrice()
  toyName()
 }
}
注意:constraints后面是=,表示constraints是一个闭包!12.重新执行:generate-all toy(经常忘记!如果使用脚手架scaffold则不需要重新执行!)
13.测试发现:unitPrice列在前,toyName在unitPrice后面
实际上是依据constraints的顺序排列!还有一个id列是表的主键!14.修改ToyController.groovy的list闭包
把params.max = 10改为params.max = 5,表示每页显示5条记录。15.修改ToysStore/grails-app/conf下面的BootStrap.groovy文件:
class BootStrap {
     def init = { servletContext ->      
      println 'ToysStore Start......'
 //println servletContext 
     }
     def destroy = {     
     }
} 16.重启会发现输出:ToysStore Start......
17.配置Eclipse外部工具:
run-->External Tools-->Open External Tools Dialog
设置Location:    C:/grails-1.0.2/bin/console.bat
设置Work Directory:  C:/grails-1.0.2/ToysStore(换成你的项目路径)这样就可以在Eclipse环境内部执行create-domain-class等命令了!
18.加入service:
(1)create-service toy
会在grails-app/services下面产生ToyService.groovy文件
并且在其中加入服务方法或闭包: 
 def sayHello() {
  println 'Hello service'
     }(2)在ToyController.groovy中调度service: 
   def serviceTest={
     def service=new ToyService()
     service.sayHello()
    }(3)在grails-app/views/toy下面创建serviceTest.gsp或serviceTest.jsp文件作为serviceTest闭包的结果视图!
(4)http://localhost:8080/ToysStore/toy/serviceTest访问toy控制器中的serviceTest闭包!
19.导入Grails项目到Eclipse后的环境配置:
(1)需要到 我的电脑--》属性--》高级--》环境变量 配置GRAILS_HOME为C:/grails-1.0.2/grails (到安装目录下grails为止)。
(2)在Eclispe中 项目属性--》构建路径--》添加变量--》加入GRAILS_HOME变量。
(3)运行时配置参数-Dbase.dir=${project_loc}会报错,去掉它就可以了。
(4)Error starting Sun's native2ascii:把jdk下的tools.jar加到classpath中。20.数据库换成MySQL:
(1)打开文件grails-app/conf/DataSource.groovy,修改driverClassName,username,password,url:dataSource {
 pooled = false
 driverClassName = "com.mysql.jdbc.Driver"
 username = "root"
 password = "lxt008"
}
hibernate {
    cache.use_second_level_cache=true
    cache.use_query_cache=true
    cache.provider_class='org.hibernate.cache.EhCacheProvider'
}
// environment specific settings
environments {
 development {
  dataSource {
   //create-drop:重启服务器前会删除原Schema,重启服务器后重新创建Schema。
   //create:不会删除原Schema,但是数据不会保留。
   //update:不会删除原Schema和数据。只是Schema有变化时更新Schema罢了。
   dbCreate = "create-drop" // one of 'create', 'create-drop','update'
   url = "jdbc:mysql://localhost/toysstore?useUnicode=true&characterEncoding=utf-8"
  }
 }
 test {
  dataSource {
   dbCreate = "update"
   url = "jdbc:hsqldb:mem:testDb"
  }
 }
 production {
  dataSource {
   dbCreate = "update"
   url = "jdbc:hsqldb:file:prodDb;shutdown=true"
  }
 }
}(2)把MySQL的JDBC驱动加入项目构建路径。