任何人都可以告诉我如何从用户定义的路径中的Grails调用存储过程。
答案 0 :(得分:3)
为此,您可以使用Groovy Sql
。
使用Groovy SQL:
import groovy.sql.Sql
def dataSource
或def sessionFactory
进行交易的数据源def sql = new Sql(dataSource)
或def sql = new Sql(sessionFactory.currentSession.connection())
Grails将自动管理与数据源的连接。
注意:dataSource
和sessionFactory
是您必须在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语句。