Groovy と Grails 内でストアド プロシージャを呼び出すような要件があります。データベースに Mongodb を使用しています。ストアドプロシージャを呼び出す手順を教えてください
質問する
3309 次
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 に答える