huajunhu 发表于 2013-2-3 10:16:22

groovy存储过程调用

import groovy.sql.Sql
import java.util.concurrent.Executors
class EnrichDataService {
 static def executor = Executors.newFixedThreadPool(1)
 boolean transactional = true
 def impactDataSource
 def operLogService
 def enrichData(user,controllerName,ip) {
       executor.execute({
       Sql sql = new Sql(impactDataSource)
     operLogService.operLog("开始丰富,ip="+ip, "数据丰富",controllerName,  user)
     sql.call("{? = call f_update_device_test }",) {
         operLogService.operLog(it+",ip="+ip, "设备丰富",controllerName,  user)
     }
    sql.call("{ ? = call F_UPDATE_PORTBYTEMPTABLE_TEST } ",) {
       operLogService.operLog(it+",ip="+ip, "端口丰富",controllerName,  user)
     }
      } as Runnable)
 }
}
使用Groovy调用 Oralce 函数的例子,呵呵,还有存储过程的Sample
def refresh(user,controllerName,ip) {
      executor.execute({
       Sql sql = new Sql(mappingDataSource)
       operLogService.operLog("开始同步,ip="+ip, "映射表同步",controllerName,  user)
     sql.call("call SP_REFLESH(?)",) {
        operLogService.operLog(it+",ip="+ip, "映射表同步",controllerName,  user)
      }
      } as Runnable)
 }
真的比java要简便的多,不得不佩服Groovy 语法简洁
页: [1]
查看完整版本: groovy存储过程调用