- 浏览: 43211 次
- 性别:
- 来自: 珠海
最新评论
文章列表
1、Criteria(条件查询)
Criteria可以通过createCriteria 或者 withCriteria 方法来使用
1 def user = User.findByUserId(params.user)
2 def entries = Post.createCriteria().list {
3 and {
4 eq('user', user)
5 between('created', new Date()-1, new Date())
6 tag ...
- 2013-05-17 19:33
- 浏览 704
- 评论(0)
上一节介绍了一个基本的动态查询器是怎么工作的,grails还有很多的动态查询器,我们来建一个测试来测试一下其他查询器的工作状况
1、创建一个集成测试类
grails create-integration-test com.grailsinaction.QueryIntegration
创建一个测试方法testBasicDynamicFinders
1 package com.grailsinaction
2
3 import static org.junit.Assert.*
4 import org.junit.*
5
6 class QueryI ...
- 2013-05-17 19:33
- 浏览 619
- 评论(0)
动态查询和实体查询
1、实现一个简单的查询表单
首先,在/grails-app/views/user/新建一个search.gsp,建立一个查询表单
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Search Hubbub</title>
5 <meta name="layout" content="main"/>
6 </head>
7 ...
- 2013-05-17 19:33
- 浏览 618
- 评论(0)
静态脚手架,生成和定制客户化代码
1、首先生成静态脚手架代码
方法一:
grails generate-all com.grailsinaction.User
这样会生成User对象的所有controller方法和view视图,如果系统中已经有User的Controller,生成时会提示是否覆盖
方法 ...
- 2013-05-17 19:33
- 浏览 594
- 评论(0)
上一节了解了基本脚手架的功能以及地方化的一些内容,这一节调整脚手架的CSS布局
如果只是想改变程序的外观,可以直接调整/web-app/css/main.css。这里我们调整/grails-app/views/layouts/main.gsp文件,生成一个新的布局
修改/grails-app/views/layouts/main.gsp
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Hubbub » <g:layoutTitle d ...
- 2013-05-17 19:33
- 浏览 277
- 评论(0)
内容简介
理解脚手架
客户化脚手架
动态查询器
高级查询
上一章花了很多时间建立领域模型,这一章就要看怎么用了。
1、先给所有的模型创建控制器
grails create-controller com.grailsinaction.User
grails create-controller com.grailsinaction.Profile
grails create-controller com.grailsinaction.Post
grails create-controller com.grailsinaction.Tag
2、修改所有的Control ...
- 2013-05-17 19:33
- 浏览 442
- 评论(0)
上一节主要是对象和对象之间的关系建立,还有一种自参照关系。实际上是1:m的变体,只是多的一方参照的还是自身
比如一个User可以关注其他User,就可以使用自参照建立关系
1、修改User
class User {
static hasMany = [ posts : Post, tags : Tag, following : User ]
......
}
这里使用following进行自身关联
2、编写一个测试方法
在UserIntegrationTests类中增加一个testFollowing方法
1 /**
2 * ...
- 2013-05-17 19:33
- 浏览 367
- 评论(0)
上一节了解了1:m的问题,现在解决最棘手的m:n的问题
一般的社交网站上的post都有分类标签,一个post可以有多个标签,同样一个标签也可以打到多个post上。
比如使用场景如下:
一个用户可以创建多个标签
一个帖子可以打上多个标签,并且每个标签可能打在多个帖子上
根据这个场景,我们可以看到User和Tag是1:m的关系,Post和Tag是m:n的关系,下面我们就着手建立这两个关系
1、创建Tag对象
1 package com.grailsinaction
2
3 class Tag {
4
5 String name
6 ...
- 2013-05-17 19:33
- 浏览 469
- 评论(0)
上一节建立了一个1:1的对象关系,这一节来建立一个1:m的对象关系
一个用户在一个论坛上或消息发布平台上可以发布多个消息,这个场景就是一个经典的1:m关系
1、建立一个Post对象
grails create-domain-class com.grailsinaction.Post
2、给Post对象增加属性
1 package com.grailsinaction
2
3 class Post {
4 static belongsTo = [ user : User ]
5
6 String content
7 ...
- 2013-05-17 19:32
- 浏览 741
- 评论(0)
上一节了解了怎样对对象的属性进行有效性验证以及验证的测试方法,这一节主要了解对象之间的关系
1:1关系
User对象主要用于登录验证操作,User对象还有一些比较杂的属性,我们单独用一个Profile对象保存,这样User和Profile之间就是1:1的关系
1、增加一个Profile对象
grails create-domain-class com.grailsinaction.Profile
2、给Profile对象增加一些用户属性
1 package com.grailsinaction
2
3 class Profile {
4 stati ...
- 2013-05-17 19:32
- 浏览 479
- 评论(0)
上一节建立一个User domain对象,这一节主要了解怎么样对对象的属性进行验证
1、对象验证
在User对象中增加数据验证
1 static constraints = {
2 userId(size:3..20, unique: true)
3 password(size: 6..8)
4 homepage(url: true, nullable: true)
5 }
2、测试验证代码
com.grailsinaction.UserIntegrationTests
1 /**
2 ...
- 2013-05-17 19:32
- 浏览 595
- 评论(0)
内容简介
什么事GORM,以及GORM怎么工作
定义领域模型
怎么让模型工作,如save、update
验证和约束
领域类的关系(1:1,1:m,m:n)
建立domain对象,增加属性,以及集成测试
1、创建项目
grails create-app hubbub
2、创建第一个domain对象
grails create-domain-class com.grailsinaction.User
3、给User对象添加必要的属性
1 package com.grailsinaction
2
3 class User {
4 ...
- 2013-05-17 19:32
- 浏览 433
- 评论(0)
1、安装
$yum -y install git
$git --version
git version 1.7.1
2、建立一个仓库目录
$ mkdir /repo
$ cd /repo$ git init
3、配置git
$ git config --global user.name "you name"
$ git config --global user.email "youemail@gmail.com"
4、配置github s ...
- 2013-05-17 19:32
- 浏览 560
- 评论(0)
开源镜像站点
以下镜像站点中提供常见的开源程序资源下载,如FreeBSD、archlinux、CentOS、Debian、Fedora、RHEL、SUSE Linux、Ubuntu、KDE、Gentoo、Nginx、Apache、PHP、Python、MySQL等资源
搜狐开源镜像站点:http://mirrors.sohu.com/
网易开源镜像站点:http://mirrors.163.com/
中国科技大学开源镜像站点:http://mirrors.ustc.edu.cn/
Ieesee站点RedHat Enterprise Linux 红帽Linux镜像站点(主要是RHEL ...
- 2013-05-17 19:32
- 浏览 550
- 评论(0)
CentOS-6.4安装手记
在虚拟机上安装CentOS时要注意,不要选自动安装模式,否则会出现错误
安装完了,自动重启,结果悲剧了,启动不了,提示下面的信息:
Installing VMware Tools, please wait...
mount: special device /dev/hda does not exist
mount: block device /dev/sr0 is write-protected, mounting read-only
./run_upgrade.sh: line 21: file: command not found
在 ...
- 2013-05-17 19:32
- 浏览 1363
- 评论(0)