在 Grails 中调用存储过程(逐步)

Call Stored Procedure in Grails (Step by step)

谁能告诉我如何从存在于用户定义路径中的 Grails 调用存储过程。

为此,您可以使用 Groovy Sql

要使用 Groovy SQL:

  1. import groovy.sql.Sql
  2. 使用 def dataSourcedef sessionFactory 请求对数据源的引用以进行交易
  3. 使用 def sql = new Sql(dataSource)def sql = new Sql(sessionFactory.currentSession.connection())
  4. 创建一个 Sql 对象
  5. 根据需要使用GroovySQL

Grails 将自动管理与数据源的连接。

注意:dataSourcesessionFactory 是您必须在 pojo/bean class.

中注入的 bean

所以要执行 sql 写在你的文件上的代码:

String sqlFilePath = grailsApplication.parentContext.servletContext.getRealPath("/data/proc.sql")
String sqlString = new File(sqlFilePath).text

Sql sql = new Sql(sessionFactory.currentSession.connection())
sql.execute(sqlString)

这将执行在您的 sql 服务器上的文件中写入的任何 sql 语句。