2012-07-06 39 views
5

我是Grails的新手,我有疑问。假设我已将我的Datasource.groovy配置为mysql数据库。一切工作正常,我的Grails应用程序正在运行。如何在grails中获取数据库实例?

在控制器中,如果我想添加/修改我在DataSource.groovy中设置的数据库,我该怎么做?

再次,我需要做这样的事情在每个控制器:

def db = Sql.newInstance(
        'jdbc:mysql://*****', 
        'root', 
        '', 
        'com.mysql.jdbc.Driver' 
       ) 

为了得到我指向DataSource.groovy文件数据库实例?

有没有最佳做法来做到这一点?

回答

5

你应该能够做到这一点(我会推荐这是一个服务,而不是一个控制器完成,因为它会让你的控制器更清洁,你的代码更容易理解)

import groovy.sql.Sql 

class DataSourceAccessingService { 
    def datasource 

    def runSomeQuery(String sql) { 
    def sql = new Sql(datasource) 
    ... 
    } 
} 
+1

哦甚至'数据源.groovy'可以注射!这对Grails很有用! – batman 2012-07-06 11:03:21

相关问题