работа с нестандартным источником данных в Groovy контроллере / сервисе - PullRequest
1 голос
/ 17 ноября 2011

В моем dataSource.groovy определено 2 источника данных, один из них по умолчанию

dataSource {
 all variables
}

другой только для чтения

dataSource_readonly {
 all variables
}

Изначально я использовал источник данных по умолчанию в моем контроллере так:

class myController {
javax.sql.DataSource dataSource
def sql = new Sql(dataSource)
.............

так что теперь, чтобы использовать другой источник данных, мне нужно сделать что-то вроде этого?

class myController {
javax.sql.DataSource dataSource_readonly
def sql = new Sql(dataSource_readonly)
.............

Ответы [ 2 ]

0 голосов
/ 26 апреля 2013

Да, точно так же, как вы можете использовать источник данных по умолчанию, вы можете объявить свойство в вашем контроллере / службе с помощью имени собственного источника данных, и grails автоматически инициализирует ваш контроллер / службу с помощью пользовательского компонента источника данных:

class MyController {
    def dataSource_readonly

    def myAction = {
        def sql = new groovy.sql.Sql(dataSource_readonly)
    }
}
0 голосов
/ 18 ноября 2011

Вы пробовали что-то подобное:

groovy.sql.Sql connection = Sql.newInstance(ConfigurationHolder.config.dataSource.url,
                ConfigurationHolder.config.dataSource.username,
                ConfigurationHolder.config.dataSource.password,
                ConfigurationHolder.config.dataSource.driverClassName)
        connection.execute("UPDATE ......")
...