Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Grails应用程序启动期间执行SQL插入_Grails_Datasource - Fatal编程技术网

在Grails应用程序启动期间执行SQL插入

在Grails应用程序启动期间执行SQL插入,grails,datasource,Grails,Datasource,我正处于开发阶段,试图使用内存数据库,并在Grails应用程序启动期间用一些数据加载它。我的问题是,是否有任何方法可以编写/配置可以在启动期间执行的SQL insert语句 您可以在BootStrap.groovy中执行此操作。如果为dataSourcebean添加依赖项注入,则可以将其与groovy.sql.sql实例一起使用以执行插入: import groovy.sql.Sql class BootStrap { def dataSource def init = { s

我正处于开发阶段,试图使用内存数据库,并在Grails应用程序启动期间用一些数据加载它。我的问题是,是否有任何方法可以编写/配置可以在启动期间执行的SQL insert语句

您可以在BootStrap.groovy中执行此操作。如果为
dataSource
bean添加依赖项注入,则可以将其与
groovy.sql.sql
实例一起使用以执行插入:

import groovy.sql.Sql

class BootStrap {

   def dataSource

   def init = { servletContext ->
      def sql = new Sql(dataSource)
      sql.executeUpdate(
         'insert into some_table(foo, bar) values(?, ?)',
         ['x', 'y'])
   }
}
不过,如果这些表是由域类管理的,那么使用GORM可能会更好。例如,运行类似于
新书(作者:'me',标题:'some title')。save()