grails - 使用 Grails 的 DDL 查询

标签 grails

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

最佳答案

当然,依赖注入(inject) dataSource bean 到 Controller /服务/等。并从那里获得连接。然后你可以做任何你想做的 JDBC 查询。您最好的选择是使用 groovy.sql.Sql因为它简化了执行 JDBC 的工作流程。

您也可以从 Grails 控制台运行查询(运行 grails console 来启动它)。使用隐式 ctx 中的属性访问表示法可以使用 Bean。变量是 Spring ApplicationContext,因此您可以通过 def dataSource = ctx.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)
   }
}

关于grails - 使用 Grails 的 DDL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22337899/

相关文章:

grails - contains()方法不起作用

validation - Grails 自定义验证消息不起作用?

grails - 如何在grails中预填充隐藏的表单字段?

grails - 如何在 Grails 3.x 中配置 JNDI 数据源?

grails - Grails错误初始化应用程序:null

tomcat - Grails 1.3.7 clean 项目无法提供 utf8 文件

grails - Grails Spring安全性插件镜像访问控制

java - 优化两个列表比较

grails - XML 请求中与多个域类的数据绑定(bind)

grails - Jasypt 加密字段和 Criteria API 未获得结果(Grails)