grails的CRUD就真的是简单死了,基本上都是一句话搞定:
create | save() |
read | get(id) |
update | save() 或 discard() |
delete | delete() |
不过相对来说,基于动态语言groovy的Query语句就丰富很多了,可以使用动态方法,可以用example,可以用criteria,还可以使用HQL语句。具体的实例不赘述,见此处: http://www.grails.org/GORM+-+Querying
尤其是动态方法的方式,很是方便。只要使用findByPropertyName这样的方法就可以实现查询。比如:
groovy 代码
- def results = Book.findByTitle("The Stand")
- results = Book.findByTitleLike("Harry Pot%")
- results = Book.findByReleaseDateBetween( firstDate, secondDate )
- results = Book.findByReleaseDateGreaterThan( someDate )
- results = Book.findByTitleLikeOrReleaseDateLessThan( "%Something%", someDate )
- // find by relationship
- results = Book.findAllByAuthor( Author.get(1) )
- // and to affect some sorting
- results = Book.findAllByAuthor( Author.get(1), [sort:'title',order:'asc'] )
配置数据库也是非常的方便,只需要修改一下dataSource.groovy就好了。在自动生成的脚本中,grails生成了基于hsqldb的开发、测试、产品三个数据库。配置完以后,jdbc的驱动放在lib下面就好了。