我想从另一个项目已经存在的数据库中的数据读取到我的Grails项目,并列出数据。 我应该创建已经存在的数据库域控制器? 我知道如何创建域控制器和使用数据迁移插件更新数据库但没有我读的书对如何设置和从现有的数据库中读取任何信息。 我使用MySQL的我的数据库。
Answer 1:
使用逆向工程插件从现有的数据库中创建域类: http://grails.org/plugin/db-reverse-engineer
Answer 2:
按我的理解,请执行以下操作:
假设你有一个现有的DB“TESTDB”与表“domain_model”,它有列“column_a”,“column_b”和“column_c”。
在圣杯,创建一个域类和在映射块添加以下内容:
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的属性设置为“更新”。
dbCreate的= “更新”
希望这可以帮助 !
此外,确保“ID”和“版本”列添加到“ID”列自动增量您现有的表,你可以拥有所有记录“版本”列“1”。
Answer 3:
@codeBarer您可以通过将XML文件中的grails-app / conf目录使用XML作为Grails的数据源。 class.getResource(“yourData.xml”):你可以在BootStrap.groovy中与引用此文件。
Answer 4:
DEF defaultDataFileStream = this.class.getResourceAsStream( “defaultData.xml”)DEF ALLDATA =新的XmlSlurper()。解析(defaultDataFileStream)
BootStrap.groovy中试试这个。 你会放的grails-app / conf下的XML文件。
Answer 5:
创建域类可以使用[GARG]: http://grag.sourceforge.net/index.html
文章来源: Grails read from existing DB