如何在Grails中访问两个数据库

Ben*_*ams 20 grails

Grails使得在DataSources.groovy文件中为不同环境(开发,测试,生产)配置数据源非常容易,但似乎没有在一个环境中配置多个数据源的工具.如果我需要从同一个Grails应用程序访问多个数据库,该怎么办?

Sus*_* CS 26

在Grails 2.xx中,在不同的域类中连接不同的数据库非常容易

例如

development {
    dataSource {//DEFAULT data source
      .
      .
    }
dataSource_admin { //Convention is dataSource_name
        url = "//db url"
        driverClassName = "oracle.jdbc.driver.OracleDriver" 
        username = "test"
        password = 'test123'
    }
dataSource_users {

    }
}
Run Code Online (Sandbox Code Playgroud)

您可以在域类中使用任何数据源

class Role{
   static mapping = {
      datasource 'users'
   }
}

 class Product{
    static mapping = {
      datasource 'admin'
   }
 }
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请查看此内容


Pet*_*ter 20

如果使用Grails 2.0或更高版本,则不需要插件,本机支持它.

http://www.grails.org/doc/latest/guide/single.html#multipleDatasources


Ben*_*ams 9

现在有Grails插件可以直接使用Grails的GORM层使用多个数据源:http://burtbeckwith.com/blog/?p = 70

  • 请注意,从Grails 2.0开始不再需要它(核心框架内置了对多个数据源的支持) (7认同)