2012-07-06 37 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

相關問題