更新数据库记录grails

时间:2015-04-20 17:33:35

标签: grails gorm

例如,我编写了一个简单的域类:

class Book{
  String bookName
}

我已经完成了这个实例的一些记录。现在我想更新其中一个,实现它,我想为bookName编写一个setter。但通过GORM方法可能是更优雅的方法吗?

2 个答案:

答案 0 :(得分:2)

这是一个例子。例如,在服务方法中。

Book bookInstance = Book.get(id) //id is the primary key
bookInstance.bookName = "new book name"
bookInstance.save(flush : true)

答案 1 :(得分:2)

Grails使用Groovy方法 - 为您创建了getter和setter,您可以认为它们可用于您创建的域类的每个属性。请参阅http://www.groovy-lang.org/style-guide.html第7节。

Alfredo提出了一种方法,你可以在其中获得Book类的一个实例,但是要使用它,你需要一个机制来获取id,以便你可以使用get()方法。

如果您想通过名称获取图书实例,可以使用动态查找器。参见6.4.1 http://grails.github.io/grails-doc/latest/guide/GORM.html#finders的动态查找器。

最简单的方法是使用它来获取您的图书实例:

def bookInstance= Book.findByBookName('the book name that you want to change')

然后您可以按照已经描述的那样更新它。

相关问题