使用Grails进行DDL查询

时间:2014-03-11 22:19:52

标签: grails

我正在尝试在Oracle DB上创建一个DBA工具,以使用Grails管理多个数据库服务器。我的应用程序需要通过获取用户(DBA)输入来创建数据库用户。创建新数据库用户是DDL语句。我们可以用Grails编写DDL语句吗?

1 个答案:

答案 0 :(得分:4)

当然,依赖项 - 将dataSource bean注入控制器/服务/等。并从那里获得连接。然后,您可以执行任何所需的JDBC查询。最好的办法是使用groovy.sql.Sql,因为它简化了做JDBC的工作流程。

您还可以从Grails控制台运行查询(运行grails console以启动它)。可以使用来自隐式ctx变量(Spring ApplicationContext)的属性访问表示法来使用Bean,因此可以通过def dataSource = ctx.dataSource获取dataSource bean

以下是服务中的示例:

import groovy.sql.Sql

class MyService {

   def dataSource

   def someMethod() {

      def sql = new Sql(dataSource)

      String dml = '''\
         create table foo (
         ...
         )'''

      sql.execute(dml)
   }
}