2012-07-06 30 views
5

私はGrailsの初心者で、疑問があります。 Datasource.groovymysqlデータベースに設定されているとします。すべてうまく動作し、私のgrailsアプリが動作しています。grailsでデータベースインスタンスを取得するにはどうすればよいですか?

コントローラーで、私が設定したデータベースを追加/変更したい場合は、どのようにすればいいですか?DataSource.groovy

は再び私は、各コントローラには、このような何かをする必要があります:私はDataSource.groovyファイルを指すDBインスタンスを取得するために

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

そうするベストプラクティスはありますか?

答えて

5

あなたがこれを行うことができるはずです(それはあなたのコントローラがきれいになりますし、あなたが従うことが簡単にコードとして、私は、これはサービスではなく、コントローラで行われる推薦)

import groovy.sql.Sql 

class DataSourceAccessingService { 
    def datasource 

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

ああでも 'データソース.groovy'を注入できます!それはグレイスについて素晴らしい! – batman

関連する問題