Grails入门指南

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驱动加入项目构建路径。

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值