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

时间:2016-05-10 05:34:05

标签: grails grails-controller

任何人都可以告诉我如何从用户定义的路径中的Grails调用存储过程。

1 个答案:

答案 0 :(得分:3)

为此,您可以使用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. 根据需要使用Groovy SQL
  6. Grails将自动管理与数据源的连接。

    注意:dataSourcesessionFactory是您必须在pojo / bean类中注入的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 server上的文件中编写的任何sql语句。