浏览 2765 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-24
猫咪先来说如何修改数据库配置。首先在机器上安装一个MySQL数据库,当然别的数据库也可以。不过如果装了Oralce和DB2,机器配置又低跑不动别找我。数据库配置的结构已经和书上说得完全不一样了。“grails-app\conf”下并没有书上说的DevelopmentDataSource.groovy、TestDataSource.groovy和ProductionDataSource.groovy这三个文件。只有一个把这三个配置放到一起的DataSource.groovy。 内容如下: //缺省的数据库配置模板 dataSource { pooled = false driverClassName = "org.hsqldb.jdbcDriver" username = "sa" password = "" } //Hibernate缓存配置 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 { dbCreate = "create-drop" // one of 'create', 'create-drop','update' url = "jdbc:hsqldb:mem:devDB" } } //测试环境配置 test { dataSource { dbCreate = "update" url = "jdbc:hsqldb:mem:testDb" } } //生产环境配置 production { dataSource { dbCreate = "update" url = "jdbc:hsqldb:file:prodDb;shutdown=true" } } } 很好改的。如果要把开发数据库换成MySQL只要把开发部分的数据库配置改了就是了。这种配置格式,经常修改Unix下各种软件的配置的人应该很熟悉。 首先把MySQL的数据库驱动拷贝到lib目录下,然后修改配置文件的开发数据库配置。 development { dataSource { dbCreate = "update" pooled = true driverClassName = "com.mysql.jdbc.Driver" username = "root" password = "****" url = "jdbc:mysql://localhost:3306/MyMiao" } }
static constraints ={ name(maxlength:50,blank:false)//名字最长50,不许为Null startDateTime(validator:{return (it>new Date())})//不能输入过去的时间。这是自定义验证,返回布尔值。it表示这个属性。 city(maxLength:30,blank:false)//最长30,不能为Null state(inList:["BeiJing","TianJin","ShangHai","ChongQing"],blank:false)//只能输入的值必须在四地中,不能为Null。书上是美国的四个州。我用咱们直辖市代替了。不过目前还不能在这里写中文。页面上能正确显示,但是验证过不去 maxRunners() distance(min:3.1f,max:100f)//跑道长度。最小3.1最长100。(100英里,即160千米。快4个马拉松了) cost(min:0f,max:999.99f)//费用必须在0到999.99美元之间 }
constraints同时也决定了属性出现在页面上的顺序。如果只是想规定某个属性的位置但是没有验证,那么直接放进去就可以了,比如maxRunners。注:这个顺序是输入页面的顺序。然后另一个对象也加入验证。 static constraints = { name(maxLength:50,blank:false)//最长50,不能为Null dateOfBirth(nullable:false)//非空 gender(inList:["M","F"])//输入只能是两者之一 postalAddress(maxLength:255)//最长255 emailAddress(maxLength:50,email:true)//最长50,符合Email格式 race(nullable:false)//非空 }
Race String toString(){"${this.name}:${this.city}:${this.state}"} Registration String toString(){"${this.name}:${this.emailAddress}"}
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |