使用Grails的DDL查询
我正在尝试在Oracle DB上创建一个DBA工具,以使用Grails管理多个数据库服务器。我的应用程序需要通过获取用户(DBA)输入来创建数据库用户。创建新的数据库用户是一个DDL语句。我们可以在Grails中编写DDL语句吗?当然,依赖项将使用Grails的DDL查询,grails,Grails,我正在尝试在Oracle DB上创建一个DBA工具,以使用Grails管理多个数据库服务器。我的应用程序需要通过获取用户(DBA)输入来创建数据库用户。创建新的数据库用户是一个DDL语句。我们可以在Grails中编写DDL语句吗?当然,依赖项将数据源bean注入控制器/服务等,并从那里获得连接。然后,您可以执行任何想要的JDBC查询。您最好使用groovy.sql.sql,因为它简化了执行JDBC的工作流程 您还可以从Grails控制台运行查询(运行Grails控制台来启动它)。bean可以使用
数据源
bean注入控制器/服务等,并从那里获得连接。然后,您可以执行任何想要的JDBC查询。您最好使用groovy.sql.sql
,因为它简化了执行JDBC的工作流程
您还可以从Grails控制台运行查询(运行Grails控制台
来启动它)。bean可以使用隐式ctx
变量中的属性访问表示法获得,该变量是Spring应用程序上下文,因此您可以通过def dataSource=ctx.dataSource
以下是服务中的一个示例:
import groovy.sql.Sql
class MyService {
def dataSource
def someMethod() {
def sql = new Sql(dataSource)
String dml = '''\
create table foo (
...
)'''
sql.execute(dml)
}
}
当然,依赖项将
dataSource
bean注入控制器/服务等,并从那里获得连接。然后,您可以执行任何想要的JDBC查询。您最好使用groovy.sql.sql
,因为它简化了执行JDBC的工作流程
您还可以从Grails控制台运行查询(运行Grails控制台
来启动它)。bean可以使用隐式ctx
变量中的属性访问表示法获得,该变量是Spring应用程序上下文,因此您可以通过def dataSource=ctx.dataSource
以下是服务中的一个示例:
import groovy.sql.Sql
class MyService {
def dataSource
def someMethod() {
def sql = new Sql(dataSource)
String dml = '''\
create table foo (
...
)'''
sql.execute(dml)
}
}
这里的
dataSource
是否自动与config中定义的数据源绑定?
是的,是bean管理dataSource.groovy中配置的连接池,如果您使用多个数据源,例如第二个名为“dataSource\u reporting”的数据源,然后会有一个同名的bean,您可以通过def datasource\u reporting
在该数据源中使用它进行查询datasource
这里的datasource是否自动绑定到config中定义的datasource?
是的,是该bean管理datasource.groovy中配置的连接池,如果您使用多个数据源,例如第二个名为“dataSource_reporting”的数据源,那么也会有一个同名的bean,您可以通过def dataSource_reporting