0

Groovy と Grails 内でストアド プロシージャを呼び出すような要件があります。データベースに Mongodb を使用しています。ストアドプロシージャを呼び出す手順を教えてください

4

2 に答える 2

0

Grails サービスからこれを行うことを目指します。

// Inject a data source: 
def dataSource //or def dataSource_<other named DS name>

def serviceMethod() {
  Sql sql = new Sql(dataSource_messages)

  def sqlCall = "exec sp_name :param1, :param2"
  final paramMap = [param1: new Timestamp(dateFrom.time), param2: new Timestamp(dateTo.time)]
  log.info "Running: $sqlCall with params $paramMap"
  def rows = []
  try {
      rows = sql.rows(sqlCall, paramMap)
  } catch (Exception e) {
      log.warn "Could not execute ${sqlCall} with params ${paramMap}: ${e.getMessage()}", e
  }
  rows

}

オプションでコマンド オブジェクトに変換します。

rows.collect { row -> new MyCmd(row) }

public class MyCmd {
    String spField1
    String spField2
    Date dateTime
}
于 2012-09-25T05:15:00.173 に答える