Как вызвать хранимую процедуру в Kotlin API? - PullRequest
0 голосов
/ 16 апреля 2019

Мы конвертируем микро сервисы java Spring Boot в Котлин.В Java Spring Boot у нас есть хранимая процедура Oracle, передающая параметр и принимающая параметр ответа в API.При конвертации в Kotlin мы застряли в вызове хранимой процедуры Oracle в Kotlin.Пожалуйста, найдите код, в котором мы пытались вызвать хранимую процедуру.Пожалуйста, обратитесь к закомментированной строке кода, которая не работает, мы не получаем ничего в примерах кода Kotlin.

package com.manoj.common

import org.springframework.web.bind.annotation.RestController
import java.util.concurrent.atomic.AtomicLong
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.context.annotation.ComponentScan
import java.sql.Connection
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.jdbc.core.JdbcTemplate
import java.sql.CallableStatement
import javax.sql.DataSource
import oracle.jdbc.OracleTypes
import java.sql.Statement
import java.sql.PreparedStatement
import java.sql.ResultSet

@RestController

class GreetingController 
{

  val counter = AtomicLong()
  @Autowired
  lateinit var datasource: DataSource;
  @GetMapping("/CallProcedure")

  fun greeting(@RequestParam(value = "name", defaultValue = "World") name: String) 
   { 
     print("Welcome Chetan")
    try {
          val conn: Connection = datasource.getConnection();
          print("Connection :  " + conn)
          var callableStatement: CallableStatement = conn.prepareCall("{call Get_Sell_Txn_Status(?,?,?,?,?)}")

    //callableStatement.setString(1, "8917102");
    //callableStatement.setString(2, "8917");
    //callableStatement.setString(3, "bbd30d20-028d-47ea-98c6-2554e869f1af:8917");
    //callableStatement.registerOutParameter(4, OracleTypes.CURSOR);
    //callableStatement.registerOutParameter(5, OracleTypes.CURSOR);
    //callableStatement.executeUpdate();
    //var resultSet ResultSet = as ResultSet callableStatement.getObject(4)
    var preparedStatement: PreparedStatement? = null
    preparedStatement = conn.prepareStatement("select * from KOSHTAKRUTI_LOGIN")    
    val rs: ResultSet = preparedStatement.executeQuery()

    while (rs.next()) 
     {
            println(rs.getString(3)+" "+rs.getString(4))
         }

        print("You are here")
      } 
       catch (e: Exception) {}
   } 
}

Как вызвать хранимую процедуру из Kotlin?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...