我在dataSource.groovy中定义了2个数据源,其中一个是默认值
dataSource {
all variables
}
另一个是readonly
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)
.............
答案 0 :(得分:0)
你有没有尝试过类似的东西:
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 ......")
答案 1 :(得分:0)
是的,就像使用默认数据源一样,您可以使用自定义数据源名称在控制器/服务中声明属性,grails将使用自定义数据源bean自动初始化您的控制器/服务:
class MyController {
def dataSource_readonly
def myAction = {
def sql = new groovy.sql.Sql(dataSource_readonly)
}
}