Grails从现有数据库中读取

时间:2013-06-21 16:29:56

标签: grails gorm grails-plugin grails-domain-class grails-controller

我想从现有数据库中将数据从另一个项目提取到我的Grails项目中并列出数据。我应该为现有的数据库创建域控制器吗?我知道如何创建域控制器并使用数据迁移插件来更新数据库,但我读过的书中没有任何关于如何设置和读取现有数据库的信息。我正在使用MySQL作为我的数据库。

5 个答案:

答案 0 :(得分:3)

使用反向工程师插件从现有数据库创建域类:http://grails.org/plugin/db-reverse-engineer

答案 1 :(得分:3)

根据我的理解,请执行以下操作:

假设您有一个带有“domain_model”表的现有数据库“TestDB”,它有“column_a”,“column_b”和“column_c”列。

在Grail中,创建一个域类并在映射块中添加以下内容:

static mapping = {
    table "domain_model"
            version false
            id column: "primary_key_column"
            columnA column: "column_a"
            columnB column: "column_b"
            columnC column: "column_c"
}
     String id
     String columnA
     Date columnB
     Integer columnC

并在DataSource.groovy中,将dbCreate属性设置为“update”。

dbCreate的= “更新”

希望这有帮助!

此外,请确保将“id”和“version”列添加到现有表中,其中“id”列是自动增量的,并且您可以将“version”列作为“1”添加到所有记录中。

答案 2 :(得分:1)

@codeBarer通过将xml文件放在grails-app / conf中,您可以将xml用作Grails中的数据源。您可以在BootStrap.groovy中引用此文件:      class.getResource( “yourData.xml”)。

答案 3 :(得分:1)

def defaultDataFileStream = this.class.getResourceAsStream(“defaultData.xml”) def allData = new XmlSlurper()。parse(defaultDataFileStream)

在bootstrap.groovy中试试这个。您将把xml文件放在grails-app / conf。

答案 4 :(得分:0)

用于创建域类,您可以使用[GARG]:http://grag.sourceforge.net/index.html